PmxPythonLib V1.0.2.0
読み取り中…
検索中…
一致する文字列を見つけられません
クラス | 公開メンバ関数 | 静的公開メンバ関数 | 全メンバ一覧
PmxLib_old20240626.PmxLib クラス

PMXで使用する関数や定義をひとまとまりにしたものです [詳解]

クラス

class  BuffPter
 送受信データ位置 [詳解]
 
class  CloneReverseType
 CloneReverseの値の定義 [詳解]
 
class  ComError
 データが返ってこないなどサーボモータ外に起因するエラー一覧の定義 [詳解]
 
class  ControlMode
 位置や速度制御等の切り替えの値を定義します [詳解]
 
class  EditBaudrate
 PMXで設定する通信速度の値を定義します [詳解]
 
class  EditParity
 PMXで設定するパリティの値を定義します [詳解]
 
class  MinimumLength
 コマンドの最低サイズ値の定義 [詳解]
 
class  PmxStatusErrorList
 PMXのステータスの返信/エラー状態の値 [詳解]
 
class  RamAddrList
 PMXサーボモータに格納されるメモリ内の先頭アドレスを定義します [詳解]
 
class  ReceiveDataOption
 MotorREAD等で使用する応答モードのリスト [詳解]
 
class  SendCmd
 送信コマンド一覧 [詳解]
 
class  TorqueSwitchType
 TorqueOnの値の定義 [詳解]
 
class  TrajectoryType
 PMXの時間制御で使用する加減速具合を設定します [詳解]
 

公開メンバ関数

def synchronize (self, txBuf, rxLen)
 「synchronize」関数は、サブクラスでオーバーライドする必要があるプレースホルダーです。 txBufのコマンドを送受信させます。
 
def synchronizeVariableRead (self, txBuf)
 「synchronizeVariableRead」関数は、サブクラスでオーバーライドする必要があるプレースホルダーです。 受信データ数がわからない場合でも送受信したい場合に使用します。
 
def synchronizeNoRead (self, txBuf)
 「synchronizeNoRead」関数は、サブクラスでオーバーライドする必要があるプレースホルダーです。 ブロードキャストIDなどデータが返ってこない時に使用します。
 
def setSerialParameters (self, int baudrate, parity, int timeout)
 「setSerialParameters」関数は、サブクラスでオーバーライドする必要があります。 通信速度、パリティ、タイムアウトでPC等上位側の通信設定を変更する際に使用します。
 
def MemREAD (self, int id, int addr, int size)
 MemREADコマンドでPMXサーボモータからデータを取得します。
 
def MemREADToByte (self, int id, int addr)
 MemREADで取得したデータをbyte(符号なし1byte)に変換して取得します。
 
def MemREADToInt16 (self, int id, int addr)
 MemREADで取得したデータをint16(符号あり2byte)に変換して取得します。
 
def MemREADToUint16 (self, int id, int addr)
 MemREADで取得したデータをUint16(符号なし2byte)に変換して取得します。
 
def MemREADToInt32 (self, int id, int addr)
 MemREADで取得したデータをint32(符号あり4byte)に変換して取得します。
 
def MemREADToUint32 (self, int id, int addr)
 MemREADで取得したデータをUint32(符号なし4byte)に変換して取得します。
 
def MemWRITE (self, int id, int baseAddr, dataByteArray, writeOpt=0)
 PMXサーボモータにMemWRITEコマンドを発行し、結果を取得します。
 
def MemWRITEToByte (self, int id, int baseAddr, int data, writeOpt=0)
 MemWRITEでbyte(符号なし1byte)のデータを書き込みます。 その結果のステータス情報を返信します。
 
def MemWRITEToInt16 (self, int id, int baseAddr, int data, writeOpt=0)
 MemWRITEでint16(符号あり2byte)のデータを書き込みます。 その結果のステータス情報を返信します。
 
def MemWRITEToUint16 (self, int id, int baseAddr, int data, writeOpt=0)
 MemWRITEでint16(符号なし2byte)のデータを書き込みます。 その結果のステータス情報を返信します。
 
def MemWRITEToInt32 (self, int id, int baseAddr, int data, writeOpt=0)
 MemWRITEでint32(符号あり4byte)のデータを書き込みます。 その結果のステータス情報を返信します。
 
def MemWRITEToUint32 (self, int id, int baseAddr, int data, writeOpt=0)
 MemWRITEでUint32(符号なし4byte)のデータを書き込みます。 その結果のステータス情報を返信します。
 
def LOAD (self, int id)
 PMXサーボモータのLOADコマンドを発行し、ステータス結果を取得します。
 
def SAVE (self, int id)
 PMXサーボモータのSAVEコマンドを発行し、ステータス結果を取得します。
 
def MotorREAD (self, int id, int receiveMode, controlMode=0x01)
 MotorREAD関数を発行し、応答モードに応じてデータを取得します。
 
def MotorWRITE (self, int id, int mototWRITEopt, controlMode=0x01, receiveMode=0, sendDataList=[])
 MotorWRITE 機能は、モータの制御やトルクのオン/オフを切り替えるコマンドを送信し、モーターからステータスとデータを受信します。
 
def MotorWRITESingle (self, int id, int controlMode, int receiveMode, int targetVal)
 MotorWRITEでデータ指示一つの場合に使用します
 
def MotorWRITEDouble (self, int id, int controlMode, int receiveMode, int targetVal1, int targetVal2)
 MotorWriteを使用して2変数を指示するときに使用します。
 
def MotorWRITETriple (self, int id, int controlMode, int receiveMode, int targetVal1, int targetVal2, int targetVal3)
 MotorWriteを使用して3変数を指示するときに使用します。
 
def SystemREAD (self, int id)
 SystemREAD 関数は、サーボからシステム情報を読み取ります。
 
def SystemWRITE (self, int id, serialNum=None, newId=None, newBaudrateVal=None, newParityVal=None, newResponseTime=None)
 SystemWRITEコマンドを使用してID、ボーレート、パリティ、および応答時間を設定します。
 
def ReBoot (self, int id, resetTime=0)
 サーボモータを再起動させます。
 
def FactoryReset (self, int id, serialNum=None)
 サーボを工場出荷時の設定にリセットします
 
def getPosition (self, int id, contolMode=0x01)
 指定したIDの現在の位置を取得します。
 
def getSpeed (self, int id)
 指定した ID の現在の速度を取得します。
 
def getCurrent (self, int id)
 指定した ID の現在の電流を取得します。
 
def getTorque (self, int id)
 指定した ID の現在のトルクを取得します。
 
def getPwm (self, int id)
 指定した ID の現在のPWMを取得します。
 
def getMotorTemp (self, int id)
 指定した ID の現在のモータ温度を取得します。
 
def getCPUTemp (self, int id)
 指定した ID の現在のCPU温度を取得します。
 
def getTrajectoryTime (self, int id)
 指定した ID の現在の補間時間を取得します。
 
def getInputVoltage (self, int id)
 指定した ID の現在の電圧を取得します。
 
def getEncoder (self, int id)
 指定した ID のエンコーダを取得します。
 
def getStatus (self, int id)
 指定した ID のステータスを取得します。
 
def getSystemStatus (self, int id)
 指定した ID のシステムステータスを取得します。
 
def getMotorStatus (self, int id)
 指定した ID のモータステータスを取得します。
 
def getRamAccessStatus (self, int id)
 指定した ID のRAMアクセスステータスを取得します。
 
def getFullStatus (self, int id)
 指定した ID の全てのステータス情報を取得します。
 
def getTorqueSwitch (self, int id)
 指定した ID のトルク ON 値を取得します。
 
def getControlMode (self, int id)
 指定した ID の制御モードを取得します。
 
def getMotorReceive (self, int id)
 指定した ID の応答データ指定値を取得します。
 
def getTrajectory (self, int id)
 指定した ID の補間制御軌道生成タイプ指定を取得します。
 
def getCenterOffset (self, int id)
 指定した ID の中央値オフセット値を取得します。
 
def getReverse (self, int id)
 指定した ID のリバース状態を取得します。
 
def getCloneReverse (self, int id)
 指定した ID のクローン/リバース値を取得します。
 
def getMinVoltageLimit (self, int id)
 指定したIDの下限電圧リミット値を取得します。
 
def getMinVoltageLimitPower (self, int id)
 指定したIDの下限リミット電圧を下回った場合の出力割合を取得します。
 
def getMaxVoltageLimit (self, int id)
 指定したIDの上限リミット電圧を取得します。
 
def getMaxVoltageLimitPower (self, int id)
 指定したIDの上限リミット電圧を超えた場合の出力割合を取得します。
 
def getCurrentLimit (self, int id)
 指定したIDの電流リミット値を取得します。
 
def getCurrentLimitPower (self, int id)
 指定したIDの電流リミットを超えた時の出力割合を取得します。
 
def getMotorTempLimit (self, int id)
 指定したIDのモータ温度リミット値を取得します。
 
def getMotorTempLimitPower (self, int id)
 指定したIDのモータ温度リミットを超えた時の出力割合を取得します。
 
def getCpuTempLimit (self, int id)
 指定したIDのCPU温度リミット値を取得します。
 
def getCpuTempLimitPower (self, int id)
 指定したIDのCPU温度リミットを超えた時の出力割合を取得します。
 
def getCwPositionLimit (self, int id)
 指定したIDのCW方向の動作角度リミット値を取得します。
 
def getCwPositionLimitPower (self, int id)
 指定したIDのCW側の角度を超えた時の出力の割合を取得します。
 
def getCcwPositionLimit (self, int id)
 指定したIDのCCW方向の動作角度リミット値を取得します。
 
def getCcwPositionLimitPower (self, int id)
 指定したIDのCCW側の角度を超えた時の出力の割合を取得します。
 
def getMaxGoalSpeed (self, int id)
 指定したIDの指令可能な最大速度値を取得します。
 
def getMaxGoalCurrent (self, int id)
 指定したIDの指令可能な最大電流値を取得します。
 
def getMaxGoalTorque (self, int id)
 指定したIDの指令可能な最大推定トルク値を取得します。
 
def getTotalPowerRate (self, int id)
 指定したIDのモータに出力する割合を取得します。
 
def getLockDetectTime (self, int id)
 指定したIDのロック検知を認識するまでの時間を取得します。
 
def getLockThresholdPower (self, int id)
 指定したIDのロック検知を開始する出力指示の閾値を取得します。
 
def getLockDetectOutputPower (self, int id)
 指定したIDがロック検知が起きた時の出力の割合を取得します。
 
def getGoalPosition (self, int id)
 指定したIDの目標指示位置を取得します。
 
def getGoalSpeed (self, int id)
 指定した ID の目標速度を取得します。
 
def getGoalCurrent (self, int id)
 指定した ID の目標電流値を取得します。
 
def getGoalTorque (self, int id)
 指定した ID の目標トルク値を取得します。
 
def getGoalPwm (self, int id)
 指定したIDの目標出力PWM値を取得します。
 
def getGoalTime (self, int id)
 指定したIDの目標補間指示時間を取得します。
 
def getCenterOffsetRange (self, int id)
 指定したIDの中央値オフセット(CenterOffset)の設定可能な最小/最大の範囲を取得します。
 
def getMinVoltageLimitRange (self, int id)
 指定したIDの入力最小電圧リミット値(MinVoltageLimit)の設定可能な最小/最大の範囲を取得します。
 
def getMaxVoltageLimitRange (self, int id)
 指定した ID の最大電圧(MaxVoltage)の設定可能な範囲を取得します。
 
def getCurrentLimitRange (self, int id)
 指定した ID の電流(Current)の設定可能な範囲を取得します。
 
def getMotorTempLimitRange (self, int id)
 指定した ID のモータ温度(MotorTemp)の範囲を取得します。
 
def getCpuTempLimitRange (self, int id)
 指定した ID のCPU温度の範囲(CpuTemp)を取得します。
 
def getMaxGoalSpeedRange (self, int id)
 指定した ID の最大速度指令値(MaxGoalSpeed)の設定可能な範囲を取得します。
 
def getMaxGoalCurrentRange (self, int id)
 指定した ID の最大電流指令値(MaxGoalCurrent)の設定可能な範囲を取得します。
 
def getMaxGoalTorqueRange (self, int id)
 指定した ID の最大トルク指令値(MaxGoalTorque)の設定可能な範囲を取得します。
 
def getCwPositionLimitRange (self, int id)
 指定したIDの指定したCW方向の動作角度リミット値(CwPosition)の設定可能な範囲を取得します。
 
def getCcwPositionLimitRange (self, int id)
 指定したIDの指定したCCW方向の動作角度リミット値(CcwPosition)の設定可能な範囲を取得します。
 
def printAllRange (self, int id)
 指定した ID の設定データの範囲を表示する関数
 
def getDafaultPidGain (self, int id, int pAddr)
 指定した ID の PIDゲインを取得します。
 
def getPresetAllPidGains (self, int id, int prisetNum)
 指定した ID 、プリセット番号の PID ゲインを位置からトルクまで全て取得します。
 
def getPresetPidGains (self, int id, int prisetNum, int gainType)
 指定した ID 、プリセット番号、ゲインタイプのPID ゲインを取得します。
 
def getAllPrisetNum (self, int id)
 指定した ID のすべてのプリセット番号を取得します。
 
def getLedMode (self, int id)
 指定したID のLED点灯モードを取得します。
 
def setTorqueSwitch (self, int id, int data, writeOpt=0)
 MemWriteを利用したデータのset関数一覧
 
def setMotorReceive (self, int id, int receiveOpt, writeOpt=0)
 指定した ID のmotorREADやMotorWRITEから返信される応答モードを設定します。
 
def setControlMode (self, int id, int controlMode, writeOpt=0)
 指定した ID の位置制御などの制御モードを設定します。
 
def setDafaultPidGain (self, int id, int pidAddr, int kp, int ki, int kd, st=None, writeOpt=0)
 指定した ID のPIDゲインを変更します。
 
def setPositionPidGain (self, int id, int kp, int ki, int kd, int st, writeOpt=0)
 指定した ID のプリセット1の位置制御のPIDゲインを変更します。
 
def setSpeedPidGain (self, int id, int kp, int ki, int kd, writeOpt=0)
 指定した ID のプリセット1の速度制御のPIDゲインを変更します。
 
def setCurrentPidGain (self, int id, int kp, int ki, int kd, writeOpt=0)
 指定した ID のプリセット1の電流制御のPIDゲインを変更します。
 
def setTorquePidGain (self, int id, int kp, int ki, int kd, writeOpt=0)
 指定した ID のプリセット1のトルク制御のPIDゲインを変更します。
 
def setCenterOffset (self, int id, int CenterOffset, writeOpt=0)
 指定した ID の中央値オフセット値を設定します。
 
def setCloneReverse (self, int id, int crVal)
 指定した ID のクローン/リバースを設定します。
 
def setMinVoltageLimit (self, int id, int minVol, int limPower, writeOpt=0)
 指定した ID の下限電圧を下回った時の挙動を設定します。
 
def setMaxVoltageLimit (self, int id, int maxVol, int limPower, writeOpt=0)
 指定した ID の上限電圧を上回った時の挙動を設定します。
 
def setCurrentLimit (self, int id, int maxCur, int limPower, writeOpt=0)
 指定した ID のモータ消費電流最大値を上回った時の挙動を設定します。
 
def setMotorTempLimit (self, int id, int maxTemp, int limPower, writeOpt=0)
 指定した ID のモータ温度最大値を上回った時の挙動を設定します。
 
def setCpuTempLimit (self, int id, int maxTemp, int limPower, writeOpt=0)
 指定した ID のCPU温度最大値を上回った時の挙動を設定します。
 
def setPositionLimit (self, int id, int cwPos, int ccwPos, int limitPower, writeOpt=0)
 指定した ID の最大角を上回った時の挙動を設定します。
 
def setMaxGoalSpeed (self, int id, int maxDesSpd, writeOpt=0)
 指定した ID の最大速度指令値を設定します。
 
def setMaxGoalCurrent (self, int id, int maxDesCur, writeOpt=0)
 指定した ID の最大電流指令値を設定します。
 
def setMaxGoalTorque (self, int id, int maxDesTrq, writeOpt=0)
 指定した ID の最大動推定トルク指令値を設定します。
 
def setTotalPowerRate (self, int id, int rate, writeOpt=0)
 指定した ID のモータ出力制限%値を設定します。
 
def setLockDetect (self, int id, int time, int power, int outputPower, writeOpt=0)
 指定した ID のロック時間、ロックと認識される出力割合、およびロック時間の出力%値を設定します。
 
def setTrajectory (self, int id, int data, writeOpt=0)
 指定した ID の補間制御軌道生成タイプ指定を設定します。
 
def setAllPrisetNum (self, int id, int prisetNum, writeOpt=0)
 指定した ID の全てのプリセット番号を設定します。
 
def setPidGains (self, int id, int prisetNum, int gainType, int kp, int ki, int kd, st=None, writeOpt=0)
 ID、プリセット番号、ゲインタイプを指定し、PIDゲインを変更します。
 
def setLedMode (self, int id, int ledVal)
 指定した ID のLEDモードを設定します。
 
def setMotorTorqueOn (self, int id, int receiveMode, controlMode=0x00)
 MotorWRITEを利用したデータのset関数一覧
 
def setMotorFree (self, int id, int receiveMode, controlMode=0x00)
 指定した ID のモータをフリーにし、ステータス、モータのON/OFF、受信データを取得します。
 
def setMotorBrake (self, int id, int receiveMode, controlMode=0x00)
 指定した ID のモータをブレーキにし、ステータス、モータのON/OFF、受信データを取得します。
 
def setMotorHold (self, int id, int receiveMode, controlMode=0x00)
 指定した ID のモータをホールドにし、ステータス、モータのON/OFF、受信データを取得します。
 
def setPosition (self, int id, int receiveMode, int position, speed=None, current=None, torque=None, time=None)
 指定した ID のモータの位置、速度、電流、トルク、および時間パラメーターを設定し、データをモーター コントローラーに送信します。
 
def getSerialNumber (self, int id)
 指定したIDのサーボからシリアル番号を取得します。
 
def getModelNum (self, int id)
 指定したIDのサーボからモデル番号を取得します。
 
def getVersion (self, int id)
 指定したIDからファームウェアのバージョン番号を取得します。
 
def getResponseTime (self, int id)
 システム読み取り操作のステータスと応答時間を取得します。
 
def setId (self, int id, int newId, serialNum=None)
 SystemWriteを利用したデータのset関数一覧
 
def setBaudrate (self, int id, int newBaudrate, serialNum=None)
 指定したIDの通信速度を設定します
 
def setParity (self, int id, int newParity, serialNum=None)
 指定したIDのパリティを設定します
 
def setResponseTime (self, int id, int newResponseTime, serialNum=None)
 指定したIDの応答時間を設定します
 

静的公開メンバ関数

def defaultMakeCmd (int id, int cmd, header=0xfe)
 通常のPMXのコマンドを作る関数です。
 
def checkRecv (rxBuff, int cmd, header=0xfe)
 checkRecv関数は、受信パケットのヘッダー、パケット長、およびコマンドをチェックします。
 

詳解

PMXで使用する関数や定義をひとまとまりにしたものです

警告
通信部分は外部に定義しますのでこのclassを派生して送信に必要な関数を追加してください。

メソッド詳解

◆ checkRecv()

def PmxLib_old20240626.PmxLib.checkRecv (   rxBuff,
int  cmd,
  header = 0xfe 
)
static

checkRecv関数は、受信パケットのヘッダー、パケット長、およびコマンドをチェックします。

受信データを解析し、下記エラーかどうかチェックを行います。

  • ヘッダのチェック
  • timeout(コマンドを何か受信したか)
  • 受信データの長さ
  • 受信したコマンドが一致するかどうか
  • CRC
引数
rxBuff受信したCRCを含む全てのデータ(バイト配列)
cmd受信時にチェックするコマンド
headerヘッダーがデフォルトと違う場合に指定する
戻り値
(Uint16) 通信の状態(ComError参照)

◆ defaultMakeCmd()

def PmxLib_old20240626.PmxLib.defaultMakeCmd ( int  id,
int  cmd,
  header = 0xfe 
)
static

通常のPMXのコマンドを作る関数です。

引数
idPMXサーボモータのID番号
cmdコマンドの値
headerデフォルトのヘッダー値 基本は0xfe
戻り値
生成されたコマンドのバイトのリスト

◆ FactoryReset()

def PmxLib_old20240626.PmxLib.FactoryReset (   self,
int  id,
  serialNum = None 
)

サーボを工場出荷時の設定にリセットします

引数
idPMXサーボモータのID番号
serialNumシリアル番号
戻り値
status (Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
覚え書き
serialNumがNone場合はこの関数内で取得するので省略可能

◆ getAllPrisetNum()

def PmxLib_old20240626.PmxLib.getAllPrisetNum (   self,
int  id 
)

指定した ID のすべてのプリセット番号を取得します。

引数
idPMXサーボモータのID番号
戻り値
status,prisetArray
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
prisetArray読み取ったプリセット番号のデータ配列[位置ゲインプリセット, 速度ゲインプリセット, 電流ゲインプリセット, トルクゲインプリセット]。通信失敗時には空のリストを返します。

◆ getCcwPositionLimit()

def PmxLib_old20240626.PmxLib.getCcwPositionLimit (   self,
int  id 
)

指定したIDのCCW方向の動作角度リミット値を取得します。

MemREADを使用して指定したIDからCCW方向の動作角度リミット値を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
dataCW方向の動作角度リミット値

◆ getCcwPositionLimitPower()

def PmxLib_old20240626.PmxLib.getCcwPositionLimitPower (   self,
int  id 
)

指定したIDのCCW側の角度を超えた時の出力の割合を取得します。

MemREADを使用して指定したIDからCCW側の角度を超えた時の出力の割合を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
dataCCW方向の閾値外時の出力割合(%)

◆ getCcwPositionLimitRange()

def PmxLib_old20240626.PmxLib.getCcwPositionLimitRange (   self,
int  id 
)

指定したIDの指定したCCW方向の動作角度リミット値(CcwPosition)の設定可能な範囲を取得します。

MemREADを使用して指定したIDから指定したCCW方向の動作角度リミット値(CcwPosition)の範囲を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,rangeData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
rangeData最小位置の範囲([CcwPositionの最小値,CcwPositionの最大値])

◆ getCenterOffset()

def PmxLib_old20240626.PmxLib.getCenterOffset (   self,
int  id 
)

指定した ID の中央値オフセット値を取得します。

MemREADを使用して指定したIDから中央値オフセット値を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
data中央値オフセット値

◆ getCenterOffsetRange()

def PmxLib_old20240626.PmxLib.getCenterOffsetRange (   self,
int  id 
)

指定したIDの中央値オフセット(CenterOffset)の設定可能な最小/最大の範囲を取得します。

MemREADを使用して指定したIDから中央値オフセット(CenterOffset)の設定可能な最小/最大の範囲を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,offsetData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
offsetData中央値オフセットの範囲([CenterOffsetの最小値,CenterOffsetの最大値])

◆ getCloneReverse()

def PmxLib_old20240626.PmxLib.getCloneReverse (   self,
int  id 
)

指定した ID のクローン/リバース値を取得します。

MemREADを使用して指定したIDからクローン/リバースを取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
dataクローン/リバース値
覚え書き
クローン/リバースについては取扱説明書をご覧ください。クローン・リバース設定
警告
getCloneReverseをしたとしても値は書けますが、Save、再起動を行わないと反映されません

◆ getControlMode()

def PmxLib_old20240626.PmxLib.getControlMode (   self,
int  id 
)

指定した ID の制御モードを取得します。

MemREADを使用して指定したIDから制御モードを取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
data制御モード値。ControlModeを参照してください。

◆ getCPUTemp()

def PmxLib_old20240626.PmxLib.getCPUTemp (   self,
int  id 
)

指定した ID の現在のCPU温度を取得します。

MemREADを使用して指定したIDから現在CPU温度を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,cpuTempData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
cpuTempData現在のCPU温度データ

◆ getCpuTempLimit()

def PmxLib_old20240626.PmxLib.getCpuTempLimit (   self,
int  id 
)

指定したIDのCPU温度リミット値を取得します。

MemREADを使用して指定したIDからCPU温度リミット値を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
dataCPU温度リミット値

◆ getCpuTempLimitPower()

def PmxLib_old20240626.PmxLib.getCpuTempLimitPower (   self,
int  id 
)

指定したIDのCPU温度リミットを超えた時の出力割合を取得します。

MemREADを使用して指定したIDからCPU温度リミットを超えた時の出力割合を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
dataCPU温度リミット時の出力割合(%)

◆ getCpuTempLimitRange()

def PmxLib_old20240626.PmxLib.getCpuTempLimitRange (   self,
int  id 
)

指定した ID のCPU温度の範囲(CpuTemp)を取得します。

MemREADを使用して指定したIDからCPU温度(CpuTemp)の設定可能な範囲を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,rangeData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
rangeDataCPU温度の範囲([CpuTempの最小値,CpuTempの最大値])

◆ getCurrent()

def PmxLib_old20240626.PmxLib.getCurrent (   self,
int  id 
)

指定した ID の現在の電流を取得します。

MemREADを使用して指定したIDから現在電流を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,curData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
curData現在の電流データ

◆ getCurrentLimit()

def PmxLib_old20240626.PmxLib.getCurrentLimit (   self,
int  id 
)

指定したIDの電流リミット値を取得します。

MemREADを使用して指定したIDから電流リミット値を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
data電流リミット値

◆ getCurrentLimitPower()

def PmxLib_old20240626.PmxLib.getCurrentLimitPower (   self,
int  id 
)

指定したIDの電流リミットを超えた時の出力割合を取得します。

MemREADを使用して指定したIDから電流リミットを超えた時の出力割合を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
data電流リミット時の出力割合(%)

◆ getCurrentLimitRange()

def PmxLib_old20240626.PmxLib.getCurrentLimitRange (   self,
int  id 
)

指定した ID の電流(Current)の設定可能な範囲を取得します。

MemREADを使用して指定したIDから電流(Current)の範囲を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,rangeData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
rangeData電流の範囲([Currentの最小値,Currentの最大値])

◆ getCwPositionLimit()

def PmxLib_old20240626.PmxLib.getCwPositionLimit (   self,
int  id 
)

指定したIDのCW方向の動作角度リミット値を取得します。

MemREADを使用して指定したIDからCW方向の動作角度リミット値を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
dataCW方向の動作角度リミット値

◆ getCwPositionLimitPower()

def PmxLib_old20240626.PmxLib.getCwPositionLimitPower (   self,
int  id 
)

指定したIDのCW側の角度を超えた時の出力の割合を取得します。

MemREADを使用して指定したIDからCW側の角度を超えた時の出力の割合を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
dataCW方向の閾値外時の出力割合(%)

◆ getCwPositionLimitRange()

def PmxLib_old20240626.PmxLib.getCwPositionLimitRange (   self,
int  id 
)

指定したIDの指定したCW方向の動作角度リミット値(CwPosition)の設定可能な範囲を取得します。

MemREADを使用して指定したIDから指定したCW方向の動作角度リミット値(CwPosition)の範囲を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,rangeData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
rangeData最大位置の範囲([CwPositionの最小値,CwPositionの最大値])

◆ getDafaultPidGain()

def PmxLib_old20240626.PmxLib.getDafaultPidGain (   self,
int  id,
int  pAddr 
)

指定した ID の PIDゲインを取得します。

引数
idPMXサーボモータのID番号
pAddrPIDゲインのkpが保存されている先頭のアドレス
戻り値
status,pidArray
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
pidArray読み取ったPIDゲインのデータ配列[kp, ki, kd, ks]。通信失敗時には空のリストを返します。

◆ getEncoder()

def PmxLib_old20240626.PmxLib.getEncoder (   self,
int  id 
)

指定した ID のエンコーダを取得します。

MemREADを使用して指定したIDからエンコーダを取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,encData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
encDataエンコーダデータ

◆ getFullStatus()

def PmxLib_old20240626.PmxLib.getFullStatus (   self,
int  id 
)

指定した ID の全てのステータス情報を取得します。

MemREADを使用して指定したIDから全てのステータスを取得します。

詳しくは取扱説明書をご覧ください。PMXのオンラインマニュアル

引数
idPMXサーボモータのID番号
戻り値
[status,servoStatus]
status通信エラーとサーボモータのステータスをたしたもの
servoStatus[staData、sysStaData、motStaData、ramStaData] データが順に含まれます。
注意
この関数を呼ぶとサーボ内のエラー値はリセットされます。

◆ getGoalCurrent()

def PmxLib_old20240626.PmxLib.getGoalCurrent (   self,
int  id 
)

指定した ID の目標電流値を取得します。

MemREADを使用して指定したIDから目標電流値を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
data目標電流値

◆ getGoalPosition()

def PmxLib_old20240626.PmxLib.getGoalPosition (   self,
int  id 
)

指定したIDの目標指示位置を取得します。

MemREADを使用して指定したIDから目標指示位置を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
data目標位置

◆ getGoalPwm()

def PmxLib_old20240626.PmxLib.getGoalPwm (   self,
int  id 
)

指定したIDの目標出力PWM値を取得します。

MemREADを使用して指定したIDから目標出力PWM値を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
dataPWM出力指示値
覚え書き
基本PWM出力値と指示値は一致するが、リミット等で制限がかかった場合は定かではない。

◆ getGoalSpeed()

def PmxLib_old20240626.PmxLib.getGoalSpeed (   self,
int  id 
)

指定した ID の目標速度を取得します。

MemREADを使用して指定したIDから目標速度を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
data目標速度

◆ getGoalTime()

def PmxLib_old20240626.PmxLib.getGoalTime (   self,
int  id 
)

指定したIDの目標補間指示時間を取得します。

MemREADを使用して指定したIDから目標補間指示時間を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
data目標補間指示時間

◆ getGoalTorque()

def PmxLib_old20240626.PmxLib.getGoalTorque (   self,
int  id 
)

指定した ID の目標トルク値を取得します。

MemREADを使用して指定したIDから目標トルク値を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
data目標トルク値

◆ getInputVoltage()

def PmxLib_old20240626.PmxLib.getInputVoltage (   self,
int  id 
)

指定した ID の現在の電圧を取得します。

MemREADを使用して指定したIDから現在電圧を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,volData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
volData現在の電圧データ

◆ getLedMode()

def PmxLib_old20240626.PmxLib.getLedMode (   self,
int  id 
)

指定したID のLED点灯モードを取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
dataLED点灯モード

◆ getLockDetectOutputPower()

def PmxLib_old20240626.PmxLib.getLockDetectOutputPower (   self,
int  id 
)

指定したIDがロック検知が起きた時の出力の割合を取得します。

MemREADを使用して指定したIDからロック検知が起きた時の出力の割合を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
dataロック検知時の出力割合(%)

◆ getLockDetectTime()

def PmxLib_old20240626.PmxLib.getLockDetectTime (   self,
int  id 
)

指定したIDのロック検知を認識するまでの時間を取得します。

MemREADを使用して指定したIDからロック検知を認識するまでの時間を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
dataロック検知を認識するまでの時間

◆ getLockThresholdPower()

def PmxLib_old20240626.PmxLib.getLockThresholdPower (   self,
int  id 
)

指定したIDのロック検知を開始する出力指示の閾値を取得します。

MemREADを使用して指定したIDからロック検知を開始する出力指示の閾値を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
dataロック検知開始出力(%)
覚え書き
位置制御モードのみで位置制御を含まないモードの場合は使用しません。

◆ getMaxGoalCurrent()

def PmxLib_old20240626.PmxLib.getMaxGoalCurrent (   self,
int  id 
)

指定したIDの指令可能な最大電流値を取得します。

MemREADを使用して指定したIDから指令可能な最大電流値を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
data最大電流指令値
注意
最大電流指令値を超えて電流指示した場合はエラーが返り、実行はされません。

◆ getMaxGoalCurrentRange()

def PmxLib_old20240626.PmxLib.getMaxGoalCurrentRange (   self,
int  id 
)

指定した ID の最大電流指令値(MaxGoalCurrent)の設定可能な範囲を取得します。

MemREADを使用して指定したIDから最大電流指令値(MaxGoalCurrent)の範囲を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,rangeData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
rangeData最大電流指令値の範囲([MaxGoalCurrentの最小値,MaxGoalCurrentの最大値])

◆ getMaxGoalSpeed()

def PmxLib_old20240626.PmxLib.getMaxGoalSpeed (   self,
int  id 
)

指定したIDの指令可能な最大速度値を取得します。

MemREADを使用して指定したIDから指令可能な最大速度値を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
data最大速度指令値
注意
最大速度指令値を超えて速度指示した場合はエラーが返り、実行はされません。

◆ getMaxGoalSpeedRange()

def PmxLib_old20240626.PmxLib.getMaxGoalSpeedRange (   self,
int  id 
)

指定した ID の最大速度指令値(MaxGoalSpeed)の設定可能な範囲を取得します。

MemREADを使用して指定したIDから最大速度指令値(MaxGoalSpeed)の範囲を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,rangeData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
rangeData最大速度指令値の範囲([MaxGoalSpeedの最小値,MaxGoalSpeedの最大値])

◆ getMaxGoalTorque()

def PmxLib_old20240626.PmxLib.getMaxGoalTorque (   self,
int  id 
)

指定したIDの指令可能な最大推定トルク値を取得します。

MemREADを使用して指定したIDから指令可能な最大推定トルク値を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
data最大動推定トルク指令値
注意
最大推定トルク指令値を超えてトルク指示した場合はエラーが返り、実行はされません。

◆ getMaxGoalTorqueRange()

def PmxLib_old20240626.PmxLib.getMaxGoalTorqueRange (   self,
int  id 
)

指定した ID の最大トルク指令値(MaxGoalTorque)の設定可能な範囲を取得します。

MemREADを使用して指定したIDから最大トルク指令値(MaxGoalTorque)の範囲を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,rangeData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
rangeData最大トルク指令値の範囲([MaxGoalTorqueの最小値,MaxGoalTorqueの最大値])

◆ getMaxVoltageLimit()

def PmxLib_old20240626.PmxLib.getMaxVoltageLimit (   self,
int  id 
)

指定したIDの上限リミット電圧を取得します。

MemREADを使用して指定したIDから上限リミット電圧を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
data入力電圧最大値

◆ getMaxVoltageLimitPower()

def PmxLib_old20240626.PmxLib.getMaxVoltageLimitPower (   self,
int  id 
)

指定したIDの上限リミット電圧を超えた場合の出力割合を取得します。

MemREADを使用して指定したIDから上限リミット電圧を超えた場合の出力割合を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
data上限リミット電圧を上回った時の出力割合(%)

◆ getMaxVoltageLimitRange()

def PmxLib_old20240626.PmxLib.getMaxVoltageLimitRange (   self,
int  id 
)

指定した ID の最大電圧(MaxVoltage)の設定可能な範囲を取得します。

MemREADを使用して指定したIDから最大電圧(MaxVoltage)の範囲を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,rangeData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
rangeData最大電圧の範囲([MaxVoltageの最小値,MaxVoltageの最大値])

◆ getMinVoltageLimit()

def PmxLib_old20240626.PmxLib.getMinVoltageLimit (   self,
int  id 
)

指定したIDの下限電圧リミット値を取得します。

MemREADを使用して指定したIDから下限電圧リミット値を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
data下限電圧設定値

◆ getMinVoltageLimitPower()

def PmxLib_old20240626.PmxLib.getMinVoltageLimitPower (   self,
int  id 
)

指定したIDの下限リミット電圧を下回った場合の出力割合を取得します。

MemREADを使用して指定したIDから下限リミット電圧を下回った場合の出力割合を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
data下限リミット電圧を下回った時の出力割合(%)

◆ getMinVoltageLimitRange()

def PmxLib_old20240626.PmxLib.getMinVoltageLimitRange (   self,
int  id 
)

指定したIDの入力最小電圧リミット値(MinVoltageLimit)の設定可能な最小/最大の範囲を取得します。

MemREADを使用して指定したIDから入力最小電圧リミット値(MinVoltageLimit)の設定可能な最小/最大の範囲を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,rangeData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
rangeData入力最小電圧リミット値の範囲([MinVoltageLimitの最小値,MinVoltageLimitの最大値])

◆ getModelNum()

def PmxLib_old20240626.PmxLib.getModelNum (   self,
int  id 
)

指定したIDのサーボからモデル番号を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,modelNumData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
modelNumDataモデル番号。通信が失敗した場合はNoneが返ります。

◆ getMotorReceive()

def PmxLib_old20240626.PmxLib.getMotorReceive (   self,
int  id 
)

指定した ID の応答データ指定値を取得します。

MemREADを使用して指定したIDから応答データ指定値を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
data応答データ指定値(ReceiveDataOptionを参照)

◆ getMotorStatus()

def PmxLib_old20240626.PmxLib.getMotorStatus (   self,
int  id 
)

指定した ID のモータステータスを取得します。

MemREADを使用して指定したIDからモータステータスを取得します。

詳しくは取扱説明書をご覧ください。PMXのオンラインマニュアル

引数
idPMXサーボモータのID番号
戻り値
[status,motStaData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
motStaDataモータステータスデータ
注意
この関数を呼ぶとサーボ内のエラー値はリセットされます。

◆ getMotorTemp()

def PmxLib_old20240626.PmxLib.getMotorTemp (   self,
int  id 
)

指定した ID の現在のモータ温度を取得します。

MemREADを使用して指定したIDから現在モータ温度を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,motTempData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
motTempData現在のモータ温度データ

◆ getMotorTempLimit()

def PmxLib_old20240626.PmxLib.getMotorTempLimit (   self,
int  id 
)

指定したIDのモータ温度リミット値を取得します。

MemREADを使用して指定したIDからモータ温度リミット値を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
dataモータ温度リミット値

◆ getMotorTempLimitPower()

def PmxLib_old20240626.PmxLib.getMotorTempLimitPower (   self,
int  id 
)

指定したIDのモータ温度リミットを超えた時の出力割合を取得します。

MemREADを使用して指定したIDからモータ温度リミットを超えた時の出力割合を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
dataモータ温度リミット時の出力割合(%)

◆ getMotorTempLimitRange()

def PmxLib_old20240626.PmxLib.getMotorTempLimitRange (   self,
int  id 
)

指定した ID のモータ温度(MotorTemp)の範囲を取得します。

MemREADを使用して指定したIDからモータ温度(MotorTemp)の設定可能な範囲を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,rangeData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
rangeDataモータ温度の範囲([MotorTempの最小値,MotorTempの最大値])

◆ getPosition()

def PmxLib_old20240626.PmxLib.getPosition (   self,
int  id,
  contolMode = 0x01 
)

指定したIDの現在の位置を取得します。

MemREADを使用して指定したIDから現在位置を取得します。

PMXでは、位置制御モードが含まれるとデータが符号あり(±320deg)、含まれない場合は符号なし(0-360deg)のデータが返ってきます

引数
idPMXサーボモータのID番号
contolMode制御モードを入れます。デフォルトは0x01です。位置制御モードが含まれるかどうかに使用します。
戻り値
[status,posData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
posData現在の位置データ。位置制御モードによって符号有り無しが変わります 。

◆ getPresetAllPidGains()

def PmxLib_old20240626.PmxLib.getPresetAllPidGains (   self,
int  id,
int  prisetNum 
)

指定した ID 、プリセット番号の PID ゲインを位置からトルクまで全て取得します。

引数
idPMXサーボモータのID番号
prisetNumプリセット番号
戻り値
status,gainsList
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
gainsList読み取ったPIDゲインのデータ配列(16データ)。通信失敗時には空のリストを返します。

◆ getPresetPidGains()

def PmxLib_old20240626.PmxLib.getPresetPidGains (   self,
int  id,
int  prisetNum,
int  gainType 
)

指定した ID 、プリセット番号、ゲインタイプのPID ゲインを取得します。

引数
idPMXサーボモータのID番号
prisetNumプリセット番号
gainTypeゲインタイプ(0:位置制御ゲイン,1:速度制御ゲイン,2:電流制御ゲイン,3:トルク制御ゲイン)
戻り値
status,pidArray
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
pidArray読み取ったPIDゲインのデータ配列[kp, ki, kd, ks]。通信失敗時には空のリストを返します。

◆ getPwm()

def PmxLib_old20240626.PmxLib.getPwm (   self,
int  id 
)

指定した ID の現在のPWMを取得します。

MemREADを使用して指定したIDから現在PWMを取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,pwmData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
pwmData現在のPWMデータ

◆ getRamAccessStatus()

def PmxLib_old20240626.PmxLib.getRamAccessStatus (   self,
int  id 
)

指定した ID のRAMアクセスステータスを取得します。

MemREADを使用して指定したIDからRAMアクセスステータスを取得します。

詳しくは取扱説明書をご覧ください。PMXのオンラインマニュアル

引数
idPMXサーボモータのID番号
戻り値
[status,ramStaData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
ramStaDataアクセスエラーになったRAMの先頭アドレス
注意
この関数を呼ぶとサーボ内のエラー値はリセットされます。

◆ getResponseTime()

def PmxLib_old20240626.PmxLib.getResponseTime (   self,
int  id 
)

システム読み取り操作のステータスと応答時間を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,respData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
respData応答時間[us]。通信が失敗した場合はNoneが返ります。

◆ getReverse()

def PmxLib_old20240626.PmxLib.getReverse (   self,
int  id 
)

指定した ID のリバース状態を取得します。

MemREADを使用して指定したIDからクローン/リバースを取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,reverse]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
reverse(bool) リバースON:True,リバースON:False
覚え書き
クローン/リバースについては取扱説明書をご覧ください。クローン・リバース設定
警告
getCloneReverseをしたとしても値は書けますが、Save、再起動を行わないと反映されません

◆ getSerialNumber()

def PmxLib_old20240626.PmxLib.getSerialNumber (   self,
int  id 
)

指定したIDのサーボからシリアル番号を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,serialNumData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
serialNumDataシリアル番号。通信が失敗した場合はNoneが返ります。

◆ getSpeed()

def PmxLib_old20240626.PmxLib.getSpeed (   self,
int  id 
)

指定した ID の現在の速度を取得します。

MemREADを使用して指定したIDから現在速度を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,spdData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
spdData現在の速度データ

◆ getStatus()

def PmxLib_old20240626.PmxLib.getStatus (   self,
int  id 
)

指定した ID のステータスを取得します。

MemREADを使用して指定したIDからステータスを取得します。

詳しくは取扱説明書をご覧ください。PMXのオンラインマニュアル

引数
idPMXサーボモータのID番号
戻り値
[status,stData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
stDataステータスデータ
注意
この関数を呼ぶとサーボ内のエラー値はリセットされます。

◆ getSystemStatus()

def PmxLib_old20240626.PmxLib.getSystemStatus (   self,
int  id 
)

指定した ID のシステムステータスを取得します。

MemREADを使用して指定したIDからシステムステータスを取得します。

詳しくは取扱説明書をご覧ください。PMXのオンラインマニュアル

引数
idPMXサーボモータのID番号
戻り値
[status,sysStaData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
sysStaDataシステムステータスデータ
注意
この関数を呼ぶとサーボ内のエラー値はリセットされます。

◆ getTorque()

def PmxLib_old20240626.PmxLib.getTorque (   self,
int  id 
)

指定した ID の現在のトルクを取得します。

MemREADを使用して指定したIDから現在の推定トルクを取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,trqData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
trqData現在の推定トルクデータ

◆ getTorqueSwitch()

def PmxLib_old20240626.PmxLib.getTorqueSwitch (   self,
int  id 
)

指定した ID のトルク ON 値を取得します。

MemREADを使用して指定したIDからトルク ON 値を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,trqSwitchData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
trqSwitchDataFreeやTorqueOnの値(TorqueSwitchTypeを参照)

◆ getTotalPowerRate()

def PmxLib_old20240626.PmxLib.getTotalPowerRate (   self,
int  id 
)

指定したIDのモータに出力する割合を取得します。

MemREADを使用して指定したIDからモータに出力する割合を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,data]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
dataモータ出力割合(%)
覚え書き
出力のリミットではなく全体的にモータ出力を可変させます。

◆ getTrajectory()

def PmxLib_old20240626.PmxLib.getTrajectory (   self,
int  id 
)

指定した ID の補間制御軌道生成タイプ指定を取得します。

MemREADを使用して指定したIDから補間制御軌道生成タイプ指定を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,traData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
traData補間制御軌道生成タイプ指定。TrajectoryTypeを参照してください。

◆ getTrajectoryTime()

def PmxLib_old20240626.PmxLib.getTrajectoryTime (   self,
int  id 
)

指定した ID の現在の補間時間を取得します。

MemREADを使用して指定したIDから現在補間時間を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,traTimeData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
traTimeData現在の補間時間データ

◆ getVersion()

def PmxLib_old20240626.PmxLib.getVersion (   self,
int  id 
)

指定したIDからファームウェアのバージョン番号を取得します。

引数
idPMXサーボモータのID番号
戻り値
[status,varData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
varDataバージョン番号のタプル[MAJOR,MINOR,PATCH,BUILD]。通信が失敗した場合はNoneが返ります

◆ LOAD()

def PmxLib_old20240626.PmxLib.LOAD (   self,
int  id 
)

PMXサーボモータのLOADコマンドを発行し、ステータス結果を取得します。

引数
idPMXサーボモータのID番号
戻り値
status LOADの送受信結果(送信結果+PMXのstatus(Uint16))

◆ MemREAD()

def PmxLib_old20240626.PmxLib.MemREAD (   self,
int  id,
int  addr,
int  size 
)

MemREADコマンドでPMXサーボモータからデータを取得します。

引数
idPMXサーボモータのID番号
addrデータを読み取る先頭のアドレス
size取得するデータサイズ
戻り値
status,rxdata
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
rxdata指定されたアドレスから読み取ったデータ配列(bytes型)。通信失敗時にはNoneを返します。

◆ MemREADToByte()

def PmxLib_old20240626.PmxLib.MemREADToByte (   self,
int  id,
int  addr 
)

MemREADで取得したデータをbyte(符号なし1byte)に変換して取得します。

引数
idPMXサーボモータのID番号
addrデータを読み取る先頭のアドレス
戻り値
[status,rxData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
rxData指定されたアドレスから読み取ったbyte(符号なし1byte)のデータ。通信失敗時にはNoneを返します。

◆ MemREADToInt16()

def PmxLib_old20240626.PmxLib.MemREADToInt16 (   self,
int  id,
int  addr 
)

MemREADで取得したデータをint16(符号あり2byte)に変換して取得します。

引数
idPMXサーボモータのID番号
addrデータを読み取る先頭のアドレス
戻り値
[status,rxData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
rxData指定されたアドレスから読み取ったint16(符号あり2byte)のデータ。通信失敗時にはNoneを返します。

◆ MemREADToInt32()

def PmxLib_old20240626.PmxLib.MemREADToInt32 (   self,
int  id,
int  addr 
)

MemREADで取得したデータをint32(符号あり4byte)に変換して取得します。

引数
idPMXサーボモータのID番号
addrデータを読み取る先頭のアドレス
戻り値
[status,rxData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
rxData指定されたアドレスから読み取ったint32(符号あり4byte)のデータ。通信失敗時にはNoneを返します。

◆ MemREADToUint16()

def PmxLib_old20240626.PmxLib.MemREADToUint16 (   self,
int  id,
int  addr 
)

MemREADで取得したデータをUint16(符号なし2byte)に変換して取得します。

引数
idPMXサーボモータのID番号
addrデータを読み取る先頭のアドレス
戻り値
[status,rxData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
rxData指定されたアドレスから読み取ったUint16(符号なし2byte)のデータ。通信失敗時にはNoneを返します。

◆ MemREADToUint32()

def PmxLib_old20240626.PmxLib.MemREADToUint32 (   self,
int  id,
int  addr 
)

MemREADで取得したデータをUint32(符号なし4byte)に変換して取得します。

引数
idPMXサーボモータのID番号
addrデータを読み取る先頭のアドレス
戻り値
[status,rxData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
rxData指定されたアドレスから読み取ったUint32(符号なし4byte)のデータ。通信失敗時にはNoneを返します。

◆ MemWRITE()

def PmxLib_old20240626.PmxLib.MemWRITE (   self,
int  id,
int  baseAddr,
  dataByteArray,
  writeOpt = 0 
)

PMXサーボモータにMemWRITEコマンドを発行し、結果を取得します。

引数
idPMXサーボモータのID番号
baseAddrデータを書き込む先頭アドレス
dataByteArray書き込むデータのbyteリスト
writeOptMemWRITEで使用するオプション 0:通常書き込み、1:TorqueOn中の強制書き込み
戻り値
status MemWRITEの送受信結果(送信結果+PMXのstatus(Uint16))

◆ MemWRITEToByte()

def PmxLib_old20240626.PmxLib.MemWRITEToByte (   self,
int  id,
int  baseAddr,
int  data,
  writeOpt = 0 
)

MemWRITEでbyte(符号なし1byte)のデータを書き込みます。 その結果のステータス情報を返信します。

引数
idPMXサーボモータのID番号
baseAddrデータを書き込む先頭アドレス
databyte(符号なし1byte)の書きこみデータ
writeOptMemWRITEで使用するオプション 0:通常書き込み、1:TorqueOn中の強制書き込み
戻り値
status MemWRITEの送受信結果(送信結果+PMXのstatus(Uint16))

◆ MemWRITEToInt16()

def PmxLib_old20240626.PmxLib.MemWRITEToInt16 (   self,
int  id,
int  baseAddr,
int  data,
  writeOpt = 0 
)

MemWRITEでint16(符号あり2byte)のデータを書き込みます。 その結果のステータス情報を返信します。

引数
idPMXサーボモータのID番号
baseAddrデータを書き込む先頭アドレス
dataint16(符号あり2byte)の書きこみデータ
writeOptMemWRITEで使用するオプション 0:通常書き込み、1:TorqueOn中の強制書き込み
戻り値
status MemWRITEの送受信結果(送信結果+PMXのstatus(Uint16))

◆ MemWRITEToInt32()

def PmxLib_old20240626.PmxLib.MemWRITEToInt32 (   self,
int  id,
int  baseAddr,
int  data,
  writeOpt = 0 
)

MemWRITEでint32(符号あり4byte)のデータを書き込みます。 その結果のステータス情報を返信します。

引数
idPMXサーボモータのID番号
baseAddrデータを書き込む先頭アドレス
dataint32(符号あり4byte)の書きこみデータ
writeOptMemWRITEで使用するオプション 0:通常書き込み、1:TorqueOn中の強制書き込み
戻り値
status MemWRITEの送受信結果(送信結果+PMXのstatus(Uint16))

◆ MemWRITEToUint16()

def PmxLib_old20240626.PmxLib.MemWRITEToUint16 (   self,
int  id,
int  baseAddr,
int  data,
  writeOpt = 0 
)

MemWRITEでint16(符号なし2byte)のデータを書き込みます。 その結果のステータス情報を返信します。

引数
idPMXサーボモータのID番号
baseAddrデータを書き込む先頭アドレス
dataUint16(符号なし2byte)の書きこみデータ
writeOptMemWRITEで使用するオプション 0:通常書き込み、1:TorqueOn中の強制書き込み
戻り値
status MemWRITEの送受信結果(送信結果+PMXのstatus(Uint16))

◆ MemWRITEToUint32()

def PmxLib_old20240626.PmxLib.MemWRITEToUint32 (   self,
int  id,
int  baseAddr,
int  data,
  writeOpt = 0 
)

MemWRITEでUint32(符号なし4byte)のデータを書き込みます。 その結果のステータス情報を返信します。

引数
idPMXサーボモータのID番号
baseAddrデータを書き込む先頭アドレス
dataUint32(符号なし4byte)の書きこみデータ
writeOptMemWRITEで使用するオプション 0:通常書き込み、1:TorqueOn中の強制書き込み
戻り値
status MemWRITEの送受信結果(送信結果+PMXのstatus(Uint16))

◆ MotorREAD()

def PmxLib_old20240626.PmxLib.MotorREAD (   self,
int  id,
int  receiveMode,
  controlMode = 0x01 
)

MotorREAD関数を発行し、応答モードに応じてデータを取得します。

引数
idサーボモータのID番号
receiveMode応答モード。事前に応答モードをMemWrite関数やsetMotorReceive関数で設定する必要があります。
controlMode制御モード。デフォルト値は 0x01 です。位置制御モードの時の現在位置を判定するときに使用します。
戻り値
[status,torqueSwitch,rxDataList]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
torqueSwitchFreeやTorqueOnの値(TorqueSwitchTypeを参照)
rxDataListMotorReadで読み取ったデータ[位置,速度,電流,トルク,PWM,モータ温度,CPU温度,電圧](合計8項目)
注意
rxDataListでデータがない場合はリストの中身の各データがNoneになります。

◆ MotorWRITE()

def PmxLib_old20240626.PmxLib.MotorWRITE (   self,
int  id,
int  mototWRITEopt,
  controlMode = 0x01,
  receiveMode = 0,
  sendDataList = [] 
)

MotorWRITE 機能は、モータの制御やトルクのオン/オフを切り替えるコマンドを送信し、モーターからステータスとデータを受信します。

引数
idPMXサーボモータのID番号
mototWRITEoptコントロールモードのデータを送るかFree/Holdにするかを決めるのに使用します
controlModeモータの制御モード。応答モードで現在位置を取得する時のみに使用します
receiveMode応答モード。返ってきたデータを変換するときに使用します。
sendDataListモータへの指示値を格納
戻り値
[status,torqueSwitch,rxDataList]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
torqueSwitchFreeやTorqueOnの値(TorqueSwitchTypeを参照)
rxDataListMotorReadで読み取ったデータ[位置,速度,電流,トルク,PWM,モータ温度,CPU温度,電圧](合計8項目)
注意
sendDataListは、位置 > 速度 > 電流 > トルク > PWM > 時間 の順番に格納される
位置/電流制御モードの場合は[position,current]をsendDataListに渡します
sendDataListは使わないデータ(位置/電流の時のPWM等)は書かない
警告
sendDataListの順番を間違えない事
複数組み合わせの場合で1つだけ変えるときでも全ての目標値を送ってください。
controlModeやreceiveModeは事前に設定をする事
注意
rxDataListでデータがない場合はリストの中身の各データがNoneになります

◆ MotorWRITEDouble()

def PmxLib_old20240626.PmxLib.MotorWRITEDouble (   self,
int  id,
int  controlMode,
int  receiveMode,
int  targetVal1,
int  targetVal2 
)

MotorWriteを使用して2変数を指示するときに使用します。

引数
idPMXサーボモータのID番号
controlModeモータの制御モード。応答モードで現在位置を取得する時のみに使用します。
receiveMode応答モード。返ってきたデータを変換するときに使用します。
targetVal1目標値1(位置、速度、電流、トルク、PWM)が入ります
targetVal2目標値2(速度、電流、トルク、PWM、時間)が入ります
戻り値
[status,torqueSwitch,rxDataList]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
torqueSwitchFreeやTorqueOnの値(TorqueSwitchTypeを参照)
rxDataListMotorReadで読み取ったデータ[位置,速度,電流,トルク,PWM,モータ温度,CPU温度,電圧](合計8項目)
注意
位置/電流制御モードの場合は
targetVal1 = position,targetVal2 = current
を渡します
警告
targetValの順番を間違えない事
controlModeやreceiveModeは事前に設定をする事
注意
rxDataListでデータがない場合はリストの中身の各データがNoneになります

◆ MotorWRITESingle()

def PmxLib_old20240626.PmxLib.MotorWRITESingle (   self,
int  id,
int  controlMode,
int  receiveMode,
int  targetVal 
)

MotorWRITEでデータ指示一つの場合に使用します

引数
idPMXサーボモータのID番号
controlModeモータの制御モード。応答モードで現在位置を取得する時のみに使用します。
receiveMode応答モード。返ってきたデータを変換するときに使用します。
targetVal目標値(位置、速度、電流、トルク、PWM)が入ります
戻り値
[status,torqueSwitch,rxDataList]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
torqueSwitchFreeやTorqueOnの値(TorqueSwitchTypeを参照)
rxDataListMotorReadで読み取ったデータ[位置,速度,電流,トルク,PWM,モータ温度,CPU温度,電圧](合計8項目)
警告
controlModeやreceiveModeは事前に設定をする事
注意
rxDataListでデータがない場合はリストの中身の各データがNoneになります

◆ MotorWRITETriple()

def PmxLib_old20240626.PmxLib.MotorWRITETriple (   self,
int  id,
int  controlMode,
int  receiveMode,
int  targetVal1,
int  targetVal2,
int  targetVal3 
)

MotorWriteを使用して3変数を指示するときに使用します。

引数
idPMXサーボモータのID番号
controlModeモータの制御モード。応答モードで現在位置を取得する時のみに使用します。
receiveMode応答モード。返ってきたデータを変換するときに使用します。
targetVal1目標値1(位置、速度、電流、トルク、PWM)のどれかが入ります
targetVal2目標値2(速度、電流、トルク、PWM、時間)のどれかが入ります
targetVal3目標値3(電流、トルク、PWM、時間)のどれかが入ります
戻り値
[status,torqueSwitch,rxDataList]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
torqueSwitchFreeやTorqueOnの値(TorqueSwitchTypeを参照)
rxDataListMotorReadで読み取ったデータ[位置,速度,電流,トルク,PWM,モータ温度,CPU温度,電圧](合計8項目)
注意
位置/トルク/時間制御モードの場合は
targetVal1 = position, targetVal2 = torque, targetVal3 = time
を渡します
警告
targetValの順番を間違えない事
controlModeやreceiveModeは事前に設定をする事
注意
rxDataListでデータがない場合はリストの中身の各データがNoneになります

◆ printAllRange()

def PmxLib_old20240626.PmxLib.printAllRange (   self,
int  id 
)

指定した ID の設定データの範囲を表示する関数

引数
idPMXサーボモータのID番号
戻り値
status 最後に行った送受信結果(送信結果+PMXのstatus(Uint16))

◆ ReBoot()

def PmxLib_old20240626.PmxLib.ReBoot (   self,
int  id,
  resetTime = 0 
)

サーボモータを再起動させます。

引数
idPMXサーボモータのID番号
resetTime再起動まで待つ時間(ms)
戻り値
status (Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
注意
ReBoot中はWrite等を行ってもエラーが返ってきます。
ReBoot直後は内部パラメータを読み込むまでデータは返ってきません

◆ SAVE()

def PmxLib_old20240626.PmxLib.SAVE (   self,
int  id 
)

PMXサーボモータのSAVEコマンドを発行し、ステータス結果を取得します。

引数
idサーボモータのID番号
戻り値
status SAVEコマンドの送信結果(送信結果+PMXのstatus(Uint16))

◆ setAllPrisetNum()

def PmxLib_old20240626.PmxLib.setAllPrisetNum (   self,
int  id,
int  prisetNum,
  writeOpt = 0 
)

指定した ID の全てのプリセット番号を設定します。

引数
idPMXサーボモータのID番号
prisetNumプリセット番号
writeOptTolqueOn状態でも強制的に書き込むか設定します。0:強制書き込みしない、1:強制書き込みする(デフォルトは0)
戻り値
送受信結果(送信結果+PMXのstatus(Uint16))

◆ setBaudrate()

def PmxLib_old20240626.PmxLib.setBaudrate (   self,
int  id,
int  newBaudrate,
  serialNum = None 
)

指定したIDの通信速度を設定します

引数
idPMXサーボモータのID番号
newBaudrate通信速度
serialNumシリアル番号 わからない場合は SystemWRITEで取得するので省略可
戻り値
status (Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
注意
シリアル番号がNoneの場合はSystemWRITE関数内で読み込みます。
通信速度は関数内でPMXの通信速度値に変換するので通信速度は直接渡してください。

◆ setCenterOffset()

def PmxLib_old20240626.PmxLib.setCenterOffset (   self,
int  id,
int  CenterOffset,
  writeOpt = 0 
)

指定した ID の中央値オフセット値を設定します。

引数
idPMXサーボモータのID番号
CenterOffset中央値オフセット値
writeOptTolqueOn状態でも強制的に書き込むか設定します。0:強制書き込みしない、1:強制書き込みする(デフォルトは0)
戻り値
送受信結果(送信結果+PMXのstatus(Uint16))
注意
範囲外のデータを受け取った場合statusにエラーが返ってきます。
エラー時は実行されません。

◆ setCloneReverse()

def PmxLib_old20240626.PmxLib.setCloneReverse (   self,
int  id,
int  crVal 
)

指定した ID のクローン/リバースを設定します。

引数
idPMXサーボモータのID番号
crValクローン/リバースを設定する値。クローンなら1、リバースなら2を入力します。
戻り値
送受信結果(送信結果+PMXのstatus(Uint16))
覚え書き
クローン/リバースについては取扱説明書をご覧ください。クローン・リバース設定
注意
強制書き込みをすると危ないのでoptは使用しません。
reverse/cloneを設定した場合はSAVEをして再起動をかけてください。

◆ setControlMode()

def PmxLib_old20240626.PmxLib.setControlMode (   self,
int  id,
int  controlMode,
  writeOpt = 0 
)

指定した ID の位置制御などの制御モードを設定します。

引数
idPMXサーボモータのID番号
controlModeモータに設定する制御モード(ControlModeを参照)
writeOptwriteOpt TolqueOn状態でも強制的に書き込むか設定します。0:強制書き込みしない、1:強制書き込みする(デフォルトは0)
戻り値
status 送受信結果(送信結果+PMXのstatus(Uint16))
バージョン
1.0.1.0
  • writeOptが反映されない不具合を修正しました

◆ setCpuTempLimit()

def PmxLib_old20240626.PmxLib.setCpuTempLimit (   self,
int  id,
int  maxTemp,
int  limPower,
  writeOpt = 0 
)

指定した ID のCPU温度最大値を上回った時の挙動を設定します。

引数
idPMXサーボモータのID番号
maxTempCPU温度最大値
limPowerCPU温度最大時の出力%値
writeOptTolqueOn状態でも強制的に書き込むか設定します。0:強制書き込みしない、1:強制書き込みする(デフォルトは0)
戻り値
送受信結果(送信結果+PMXのstatus(Uint16))
注意
範囲外のデータを受け取った場合statusにエラーが返ってきます。
エラー時は実行されません。

◆ setCurrentLimit()

def PmxLib_old20240626.PmxLib.setCurrentLimit (   self,
int  id,
int  maxCur,
int  limPower,
  writeOpt = 0 
)

指定した ID のモータ消費電流最大値を上回った時の挙動を設定します。

引数
idPMXサーボモータのID番号
maxCurモータ消費電流最大値
limPowerモータ消費電流最大時の出力%値
writeOptTolqueOn状態でも強制的に書き込むか設定します。0:強制書き込みしない、1:強制書き込みする(デフォルトは0)
戻り値
送受信結果(送信結果+PMXのstatus(Uint16))
注意
範囲外のデータを受け取った場合statusにエラーが返ってきます。
エラー時は実行されません。

◆ setCurrentPidGain()

def PmxLib_old20240626.PmxLib.setCurrentPidGain (   self,
int  id,
int  kp,
int  ki,
int  kd,
  writeOpt = 0 
)

指定した ID のプリセット1の電流制御のPIDゲインを変更します。

引数
idPMXサーボモータのID番号
kp電流制御のPゲイン
ki電流制御のIゲイン
kd電流制御のDゲイン
writeOptTolqueOn状態でも強制的に書き込むか設定します。0:強制書き込みしない、1:強制書き込みする(デフォルトは0)
戻り値
送受信結果(送信結果+PMXのstatus(Uint16))

◆ setDafaultPidGain()

def PmxLib_old20240626.PmxLib.setDafaultPidGain (   self,
int  id,
int  pidAddr,
int  kp,
int  ki,
int  kd,
  st = None,
  writeOpt = 0 
)

指定した ID のPIDゲインを変更します。

引数
idPMXサーボモータのID番号
pidAddrPIDゲインのkpが保存されている先頭のアドレス
kpPゲイン
kiIゲイン
kdDゲイン
stストレッチゲイン
writeOptTolqueOn状態でも強制的に書き込むか設定します。0:強制書き込みしない、1:強制書き込みする(デフォルトは0)
戻り値
送受信結果(送信結果+PMXのstatus(Uint16))

◆ setId()

def PmxLib_old20240626.PmxLib.setId (   self,
int  id,
int  newId,
  serialNum = None 
)

SystemWriteを利用したデータのset関数一覧

指定したIDを新しい ID に設定します。

引数
idPMXサーボモータの現在のID番号
newIdPMXサーボモータのWrite新しいID番号
serialNumシリアル番号 わからない場合は SystemWRITEで取得するので省略可
戻り値
status (Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
注意
シリアル番号がNoneの場合はSystemWRITE関数内で読み込みます。

◆ setLedMode()

def PmxLib_old20240626.PmxLib.setLedMode (   self,
int  id,
int  ledVal 
)

指定した ID のLEDモードを設定します。

引数
idPMXサーボモータのID番号
ledValLEDを設定する値。デフォルトは0、消灯は1、点灯は2を入力します。
戻り値
送受信結果(送信結果+PMXのstatus(Uint16))

◆ setLockDetect()

def PmxLib_old20240626.PmxLib.setLockDetect (   self,
int  id,
int  time,
int  power,
int  outputPower,
  writeOpt = 0 
)

指定した ID のロック時間、ロックと認識される出力割合、およびロック時間の出力%値を設定します。

引数
idPMXサーボモータのID番号
timeロック時間
powerロックと認識される出力割合
outputPowerロック時間の出力%値
writeOptTolqueOn状態でも強制的に書き込むか設定します。0:強制書き込みしない、1:強制書き込みする(デフォルトは0)
戻り値
送受信結果(送信結果+PMXのstatus(Uint16))

◆ setMaxGoalCurrent()

def PmxLib_old20240626.PmxLib.setMaxGoalCurrent (   self,
int  id,
int  maxDesCur,
  writeOpt = 0 
)

指定した ID の最大電流指令値を設定します。

引数
idPMXサーボモータのID番号
maxDesCur最大電流指令値
writeOptTolqueOn状態でも強制的に書き込むか設定します。0:強制書き込みしない、1:強制書き込みする(デフォルトは0)
戻り値
送受信結果(送信結果+PMXのstatus(Uint16))
注意
範囲外のデータを受け取った場合statusにエラーが返ってきます。
エラー時は実行されません。

◆ setMaxGoalSpeed()

def PmxLib_old20240626.PmxLib.setMaxGoalSpeed (   self,
int  id,
int  maxDesSpd,
  writeOpt = 0 
)

指定した ID の最大速度指令値を設定します。

引数
idPMXサーボモータのID番号
maxDesSpd最大速度指令値
writeOptTolqueOn状態でも強制的に書き込むか設定します。0:強制書き込みしない、1:強制書き込みする(デフォルトは0)
戻り値
送受信結果(送信結果+PMXのstatus(Uint16))
注意
範囲外のデータを受け取った場合statusにエラーが返ってきます。
エラー時は実行されません。

◆ setMaxGoalTorque()

def PmxLib_old20240626.PmxLib.setMaxGoalTorque (   self,
int  id,
int  maxDesTrq,
  writeOpt = 0 
)

指定した ID の最大動推定トルク指令値を設定します。

引数
idPMXサーボモータのID番号
maxDesTrq最大動推定トルク指令値
writeOptTolqueOn状態でも強制的に書き込むか設定します。0:強制書き込みしない、1:強制書き込みする(デフォルトは0)
戻り値
送受信結果(送信結果+PMXのstatus(Uint16))
注意
範囲外のデータを受け取った場合statusにエラーが返ってきます。
エラー時は実行されません。

◆ setMaxVoltageLimit()

def PmxLib_old20240626.PmxLib.setMaxVoltageLimit (   self,
int  id,
int  maxVol,
int  limPower,
  writeOpt = 0 
)

指定した ID の上限電圧を上回った時の挙動を設定します。

引数
idPMXサーボモータのID番号
maxVol入力電圧最大値
limPower入力電圧最大時の出力%値
writeOptTolqueOn状態でも強制的に書き込むか設定します。0:強制書き込みしない、1:強制書き込みする(デフォルトは0)
戻り値
送受信結果(送信結果+PMXのstatus(Uint16))
注意
範囲外のデータを受け取った場合statusにエラーが返ってきます。
エラー時は実行されません。

◆ setMinVoltageLimit()

def PmxLib_old20240626.PmxLib.setMinVoltageLimit (   self,
int  id,
int  minVol,
int  limPower,
  writeOpt = 0 
)

指定した ID の下限電圧を下回った時の挙動を設定します。

引数
idPMXサーボモータのID番号
minVol入力電圧最小値
limPower入力電圧最小時の出力%値
writeOptTolqueOn状態でも強制的に書き込むか設定します。0:強制書き込みしない、1:強制書き込みする(デフォルトは0)
戻り値
送受信結果(送信結果+PMXのstatus(Uint16))
注意
範囲外のデータを受け取った場合statusにエラーが返ってきます。
エラー時は実行されません。

◆ setMotorBrake()

def PmxLib_old20240626.PmxLib.setMotorBrake (   self,
int  id,
int  receiveMode,
  controlMode = 0x00 
)

指定した ID のモータをブレーキにし、ステータス、モータのON/OFF、受信データを取得します。

引数
idPMXサーボモータのID番号
receiveModePMXで設定した応答モード
controlModeモータに設定する制御モード(ControlModeを参照)
戻り値
[status,torqueSwitch,rxDataList]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
torqueSwitchFreeやTorqueOnの値(TorqueSwitchTypeを参照)
rxDataListMotorReadで読み取ったデータ[位置,速度,電流,トルク,PWM,モータ温度,CPU温度,電圧](合計8項目)

◆ setMotorFree()

def PmxLib_old20240626.PmxLib.setMotorFree (   self,
int  id,
int  receiveMode,
  controlMode = 0x00 
)

指定した ID のモータをフリーにし、ステータス、モータのON/OFF、受信データを取得します。

引数
idPMXサーボモータのID番号
receiveModePMXで設定した応答モード
controlModeモータに設定する制御モード(ControlModeを参照)
戻り値
[status,torqueSwitch,rxDataList]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
torqueSwitchFreeやTorqueOnの値(TorqueSwitchTypeを参照)
rxDataListMotorReadで読み取ったデータ[位置,速度,電流,トルク,PWM,モータ温度,CPU温度,電圧](合計8項目)

◆ setMotorHold()

def PmxLib_old20240626.PmxLib.setMotorHold (   self,
int  id,
int  receiveMode,
  controlMode = 0x00 
)

指定した ID のモータをホールドにし、ステータス、モータのON/OFF、受信データを取得します。

引数
idPMXサーボモータのID番号
receiveModePMXで設定した応答モード
controlModeモータに設定する制御モード(ControlModeを参照)
戻り値
[status,torqueSwitch,rxDataList]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
torqueSwitchFreeやTorqueOnの値(TorqueSwitchTypeを参照)
rxDataListMotorReadで読み取ったデータ[位置,速度,電流,トルク,PWM,モータ温度,CPU温度,電圧](合計8項目)

◆ setMotorReceive()

def PmxLib_old20240626.PmxLib.setMotorReceive (   self,
int  id,
int  receiveOpt,
  writeOpt = 0 
)

指定した ID のmotorREADやMotorWRITEから返信される応答モードを設定します。

引数
idPMXサーボモータのID番号
receiveOpt応答モード ReceiveDataOptionを参照
writeOptTolqueOn状態でも強制的に書き込むか設定します。0:強制書き込みしない、1:強制書き込みする(デフォルトは0)
戻り値
status 送受信結果(送信結果+PMXのstatus(Uint16))

◆ setMotorTempLimit()

def PmxLib_old20240626.PmxLib.setMotorTempLimit (   self,
int  id,
int  maxTemp,
int  limPower,
  writeOpt = 0 
)

指定した ID のモータ温度最大値を上回った時の挙動を設定します。

引数
idPMXサーボモータのID番号
maxTempモータ温度最大値
limPowerモータ温度最大時の出力%値
writeOptTolqueOn状態でも強制的に書き込むか設定します。0:強制書き込みしない、1:強制書き込みする(デフォルトは0)
戻り値
送受信結果(送信結果+PMXのstatus(Uint16))
注意
範囲外のデータを受け取った場合statusにエラーが返ってきます。
エラー時は実行されません。

◆ setMotorTorqueOn()

def PmxLib_old20240626.PmxLib.setMotorTorqueOn (   self,
int  id,
int  receiveMode,
  controlMode = 0x00 
)

MotorWRITEを利用したデータのset関数一覧

指定した ID のモータをトルクオンにし、ステータス、モータのON/OFF、受信データを取得します。

引数
idPMXサーボモータのID番号
receiveModePMXで設定した応答モード
controlModeモータに設定する制御モード(ControlModeを参照)
戻り値
[status,torqueSwitch,rxDataList]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
torqueSwitchFreeやTorqueOnの値(TorqueSwitchTypeを参照)
rxDataListMotorReadで読み取ったデータ[位置,速度,電流,トルク,PWM,モータ温度,CPU温度,電圧](合計8項目)

◆ setParity()

def PmxLib_old20240626.PmxLib.setParity (   self,
int  id,
int  newParity,
  serialNum = None 
)

指定したIDのパリティを設定します

引数
idPMXサーボモータのID番号
newParity通信で使用するパリティの設定(EditParityを参照)
serialNumシリアル番号 わからない場合は SystemWRITEで取得するので省略可
戻り値
status (Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
注意
シリアル番号がNoneの場合はSystemWRITE関数内で読み込みます。

◆ setPidGains()

def PmxLib_old20240626.PmxLib.setPidGains (   self,
int  id,
int  prisetNum,
int  gainType,
int  kp,
int  ki,
int  kd,
  st = None,
  writeOpt = 0 
)

ID、プリセット番号、ゲインタイプを指定し、PIDゲインを変更します。

引数
idPMXサーボモータのID番号
prisetNumプリセット番号
gainTypeゲインタイプ(0:位置制御ゲイン,1:速度制御ゲイン,2:電流制御ゲイン,3:トルク制御ゲイン)
kpPゲイン
kiIゲイン
kdDゲイン
stストレッチゲイン
writeOptTolqueOn状態でも強制的に書き込むか設定します。0:強制書き込みしない、1:強制書き込みする(デフォルトは0)
戻り値
送受信結果(送信結果+PMXのstatus(Uint16))

◆ setPosition()

def PmxLib_old20240626.PmxLib.setPosition (   self,
int  id,
int  receiveMode,
int  position,
  speed = None,
  current = None,
  torque = None,
  time = None 
)

指定した ID のモータの位置、速度、電流、トルク、および時間パラメーターを設定し、データをモーター コントローラーに送信します。

引数
idPMXサーボモータのID番号
receiveMode応答モード。返ってきたデータを変換するときに使用します。
position位置パラメータは、モーターの望ましい位置を表す整数です。
speed速度制御を含む場合、速度値を引数として渡す
current電流制御を含む場合、電流値を引数として渡す
torqueトルク制御を含む場合、トルク値を引数として渡す
time時間制御を含む場合、補間時間を引数として渡す
戻り値
[status,torqueSwitch,rxDataList]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
torqueSwitchFreeやTorqueOnの値(TorqueSwitchTypeを参照)
rxDataListMotorReadで読み取ったデータ[位置,速度,電流,トルク,PWM,モータ温度,CPU温度,電圧](合計8項目)
覚え書き
MotorWRITE関数の返値を直接返します。
警告
controlModeやreceiveModeは事前に設定してください。
controlModeで設定した目標値のみを引数に渡してください。
複数組み合わせの場合で1つだけ変えるときでも全ての目標値を送ってください。
注意
rxDataListでデータがない場合はリストの中身の各データがNoneになります

◆ setPositionLimit()

def PmxLib_old20240626.PmxLib.setPositionLimit (   self,
int  id,
int  cwPos,
int  ccwPos,
int  limitPower,
  writeOpt = 0 
)

指定した ID の最大角を上回った時の挙動を設定します。

引数
idPMXサーボモータのID番号
cwPosCW方向最大角
ccwPosCCW方向最大角
limitPower最大角閾値外時の出力%値
writeOptTolqueOn状態でも強制的に書き込むか設定します。0:強制書き込みしない、1:強制書き込みする(デフォルトは0)
戻り値
送受信結果(送信結果+PMXのstatus(Uint16))
注意
範囲外のデータを受け取った場合statusにエラーが返ってきます。
エラー時は実行されません。

◆ setPositionPidGain()

def PmxLib_old20240626.PmxLib.setPositionPidGain (   self,
int  id,
int  kp,
int  ki,
int  kd,
int  st,
  writeOpt = 0 
)

指定した ID のプリセット1の位置制御のPIDゲインを変更します。

引数
idPMXサーボモータのID番号
kp位置制御のPゲイン
ki位置制御のIゲイン
kd位置制御のDゲイン
st位置のストレッチゲイン
writeOptTolqueOn状態でも強制的に書き込むか設定します。0:強制書き込みしない、1:強制書き込みする(デフォルトは0)
戻り値
送受信結果(送信結果+PMXのstatus(Uint16))

◆ setResponseTime()

def PmxLib_old20240626.PmxLib.setResponseTime (   self,
int  id,
int  newResponseTime,
  serialNum = None 
)

指定したIDの応答時間を設定します

サーボ自身がデータを受信してから送信するまでのタイミング(ResponseTime)を変更します

引数
idPMXサーボモータのID番号
newResponseTime応答時間[us]
serialNumシリアル番号 わからない場合は SystemWRITEで取得するので省略可
戻り値
status (Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
注意
シリアル番号がNoneの場合はSystemWRITE関数内で読み込みます。

◆ setSerialParameters()

def PmxLib_old20240626.PmxLib.setSerialParameters (   self,
int  baudrate,
  parity,
int  timeout 
)

「setSerialParameters」関数は、サブクラスでオーバーライドする必要があります。 通信速度、パリティ、タイムアウトでPC等上位側の通信設定を変更する際に使用します。

引数
baudrate通信速度
parityパリティ
timeoutタイムアウト
戻り値
なし

◆ setSpeedPidGain()

def PmxLib_old20240626.PmxLib.setSpeedPidGain (   self,
int  id,
int  kp,
int  ki,
int  kd,
  writeOpt = 0 
)

指定した ID のプリセット1の速度制御のPIDゲインを変更します。

引数
idPMXサーボモータのID番号
kp速度制御のPゲイン
ki速度制御のIゲイン
kd速度制御のDゲイン
writeOptTolqueOn状態でも強制的に書き込むか設定します。0:強制書き込みしない、1:強制書き込みする(デフォルトは0)
戻り値
送受信結果(送信結果+PMXのstatus(Uint16))

◆ setTorquePidGain()

def PmxLib_old20240626.PmxLib.setTorquePidGain (   self,
int  id,
int  kp,
int  ki,
int  kd,
  writeOpt = 0 
)

指定した ID のプリセット1のトルク制御のPIDゲインを変更します。

引数
idPMXサーボモータのID番号
kpトルク制御のPゲイン
kiトルク制御のIゲイン
kdトルク制御のDゲイン
writeOptTolqueOn状態でも強制的に書き込むか設定します。0:強制書き込みしない、1:強制書き込みする(デフォルトは0)
戻り値
送受信結果(送信結果+PMXのstatus(Uint16))

◆ setTorqueSwitch()

def PmxLib_old20240626.PmxLib.setTorqueSwitch (   self,
int  id,
int  data,
  writeOpt = 0 
)

MemWriteを利用したデータのset関数一覧

MemWRITEを試用したトルクスイッチ。 IDで指定したサーボにTorqueON、Free、Brake、Holdを指定することができます

引数
idPMXサーボモータのID番号
databyte(符号なし1byte)の書きこみデータ
writeOptMemWRITEで使用するオプション 0:通常書き込み、1:TorqueOn中の強制書き込み
戻り値
status MemWRITEの送受信結果(送信結果+PMXのstatus(Uint16))
バージョン
1.0.1.0~

◆ setTotalPowerRate()

def PmxLib_old20240626.PmxLib.setTotalPowerRate (   self,
int  id,
int  rate,
  writeOpt = 0 
)

指定した ID のモータ出力制限%値を設定します。

引数
idPMXサーボモータのID番号
rateモータ出力制限%値
writeOptTolqueOn状態でも強制的に書き込むか設定します。0:強制書き込みしない、1:強制書き込みする(デフォルトは0)
戻り値
送受信結果(送信結果+PMXのstatus(Uint16))

◆ setTrajectory()

def PmxLib_old20240626.PmxLib.setTrajectory (   self,
int  id,
int  data,
  writeOpt = 0 
)

指定した ID の補間制御軌道生成タイプ指定を設定します。

引数
idPMXサーボモータのID番号
data補間制御軌道生成タイプ指定
writeOptTolqueOn状態でも強制的に書き込むか設定します。0:強制書き込みしない、1:強制書き込みする(デフォルトは0)
戻り値
送受信結果(送信結果+PMXのstatus(Uint16))

◆ synchronize()

def PmxLib_old20240626.PmxLib.synchronize (   self,
  txBuf,
  rxLen 
)

「synchronize」関数は、サブクラスでオーバーライドする必要があるプレースホルダーです。 txBufのコマンドを送受信させます。

引数
txBuf送信データ
rxLen受信データ数
戻り値
rxData 受信データ
注意
rxDataはtimeout等でデータがない場合があります。
警告
MemREAD等データを送受信する際は通信を確実に行うので上位で定義してください。

◆ synchronizeNoRead()

def PmxLib_old20240626.PmxLib.synchronizeNoRead (   self,
  txBuf 
)

「synchronizeNoRead」関数は、サブクラスでオーバーライドする必要があるプレースホルダーです。 ブロードキャストIDなどデータが返ってこない時に使用します。

引数
txBuf送信データ
戻り値
True:送信成功、False:送信失敗

◆ synchronizeVariableRead()

def PmxLib_old20240626.PmxLib.synchronizeVariableRead (   self,
  txBuf 
)

「synchronizeVariableRead」関数は、サブクラスでオーバーライドする必要があるプレースホルダーです。 受信データ数がわからない場合でも送受信したい場合に使用します。

引数
txBuf送信データ
戻り値
rxData 受信データ
注意
rxDataはtimeout等でデータがない場合があります。

◆ SystemREAD()

def PmxLib_old20240626.PmxLib.SystemREAD (   self,
int  id 
)

SystemREAD 関数は、サーボからシステム情報を読み取ります。

読み取ることができるデータは下記になります。

  • PMX個体固有のシリアル番号
  • PMXの機種番号
  • バージョンの情報
  • コマンドを受け取ってから返信するまでの時間
引数
idPMXサーボモータのID番号
戻り値
[status,returnData]
status(Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
returnDataSystemREADで取得したすべてのデータを返します。[SerialNum, ModelNum, Version, responsTime]
注意
Version => [MAJOR,MINOR,PATCH,BUILD]
Version以外は数値が返ります

◆ SystemWRITE()

def PmxLib_old20240626.PmxLib.SystemWRITE (   self,
int  id,
  serialNum = None,
  newId = None,
  newBaudrateVal = None,
  newParityVal = None,
  newResponseTime = None 
)

SystemWRITEコマンドを使用してID、ボーレート、パリティ、および応答時間を設定します。

引数
idPMXサーボモータのID番号
serialNumサーボの固有番号。SystemReadでデータを返します
newIdサーボに割り当てる新しい ID。 0 ~ 239 の整数値である必要があります。
newBaudrateVal新しい通信速度設定値。直接書き込む値なので、EditBaudrateの値を使用します
newParityValパリティを変更します。直接値を書き込むので、EditParityの値を使用します
newResponseTimeコマンドを受け取ってから返信するまでの時間を設定します(us単位で設定します)
戻り値
status (Uint16) 通信の状態とステータス(送信結果(PmxStatusErrorList参照) + PMXのstatus)
覚え書き
パラメータは個別に書き変えることができます。
パラメータを渡さないもしくはNoneにすると変更されません
注意
SystemWrite使用時にはシリアル番号がNoneの場合は関数内で読み込みます。

このクラス詳解は次のファイルから抽出されました: