PmxCSharpLib 1.0.0.0
読み取り中…
検索中…
一致する文字列を見つけられません
PMX 名前空間

PMXの固有値の定義 [詳解]

クラス

class  PmxBase
 PMXで使用する関数や定義をひとまとまりにしたものです [詳解]
 
class  PmxCrc16
 PMXで使用するCRCの演算 [詳解]
 
class  PmxSerialClass
 PMXで使用する関数や定義をひとまとまりにしたもので、Serialを使用して動作します。 [詳解]
 

列挙型

enum  RamAddrList {
  PositionKp = 0 , PositionKi = 4 , PositionKd = 8 , PositionStrc = 12 ,
  SpeedKp = 16 , SpeedKi = 20 , SpeedKd = 24 , CurrentKp = 32 ,
  CurrentKi = 36 , CurrentKd = 40 , TorqueKp = 48 , TorqueKi = 52 ,
  TorqueKd = 56 , PositionDeadBand = 64 , SpeedDeadBand = 66 , CurrentDeadBand = 68 ,
  TorqueDeadBand = 70 , CenterOffset = 72 , CloneReverse = 74 , MinVoltageLimit = 76 ,
  MinVoltageLimitPower = 78 , MaxVoltageLimit = 80 , MaxVoltageLimitPower = 82 , CurrentLimit = 84 ,
  CurrentLimitPower = 86 , MotorTempLimit = 88 , MotorTempLimitPower = 90 , CpuTempLimit = 92 ,
  CpuTempLimitPower = 94 , CwPositionLimit = 96 , CwPositionLimitPower = 98 , CcwPositionLimit = 100 ,
  CcwPositionLimitPower = 102 , MaxGoalSpeed = 104 , MaxGoalCurrent = 106 , MaxGoalTorque = 108 ,
  TotalPowerRate = 110 , LockDetectTime = 112 , LockThresholdPower = 114 , LockDetectOutputPower = 116 ,
  presetPosAddr = 118 , presetSpdAddr = 119 , presetCurAddr = 120 , presetTrqAddr = 121 ,
  PositionKp2 = 124 , PositionKi2 = 128 , PositionKd2 = 132 , PositionStrc2 = 136 ,
  SpeedKp2 = 140 , SpeedKi2 = 144 , SpeedKd2 = 148 , CurrentKp2 = 156 ,
  CurrentKi2 = 160 , CurrentKd2 = 164 , TorqueKp2 = 172 , TorqueKi2 = 176 ,
  TorqueKd2 = 180 , PositionKp3 = 188 , PositionKi3 = 192 , PositionKd3 = 196 ,
  PositionStrc3 = 200 , SpeedKp3 = 204 , SpeedKi3 = 208 , SpeedKd3 = 212 ,
  CurrentKp3 = 220 , CurrentKi3 = 224 , CurrentKd3 = 228 , TorqueKp3 = 236 ,
  TorqueKi3 = 240 , TorqueKd3 = 244 , NowPosition = 300 , NowSpeed = 302 ,
  NowCurrent = 304 , NowTorque = 306 , NowPwm = 308 , MotorTemp = 310 ,
  CPUTemp = 312 , InputVoltage = 314 , TrajectoryTime = 316 , EncoderValue = 318 ,
  ErrorStatus = 400 , ErrorSystem = 401 , ErrorMotor = 402 , ErrorRamAccess = 404 ,
  TorqueSwitch = 500 , ControlMode = 501 , MotorReceiveData = 502 , Trajectory = 503 ,
  ShortBrakeCurrent = 530 , ShortBrakeTorque = 531 , ShortBrakePWM = 532 , LedMode = 533 ,
  CenterOffsetMinRange = 600 , CenterOffsetMaxRange = 602 , MinVoltageMinRange = 604 , MinVoltageMaxRange = 606 ,
  MaxVoltageMinRange = 608 , MaxVoltageMaxRange = 610 , FailSafeVoltageMinRange = 612 , FailSafeVoltageMaxRange = 614 ,
  CurrentMinRange = 616 , CurrentMaxRange = 618 , MotorTempMinRange = 620 , MotorTempMaxRange = 622 ,
  CpuTempMinRange = 624 , CpuTempMaxRange = 626 , CwPositionMinRange = 628 , CwPositionMaxRange = 630 ,
  CcwPositionMinRange = 632 , CcwPositionMaxRange = 634 , MaxGoalSpeedMinRange = 636 , MaxGoalSpeedMaxRange = 638 ,
  MaxGoalCurrentMinRange = 640 , MaxGoalCurrentMaxRange = 642 , MaxGoalTorqueMinRange = 644 , MaxGoalTorqueMaxRange = 646 ,
  GoalCommandValue1 = 700 , GoalCommandValue2 = 702 , GoalCommandValue3 = 704
}
 RAMのアドレス一覧 [詳解]
 
enum  ControlMode {
  Position = 0x01 , Speed = 0x02 , PositionSpeed = 0x03 , Current = 0x04 ,
  PositionCurrent = 0x05 , SpeedCurrent = 0x06 , PositionSpeedCurrent = 0x07 , Torque = 0x08 ,
  PositionTorque = 0x09 , SpeedTorque = 0x0A , PositionSpeedTorque = 0x0B , PWM = 0x10 ,
  Time = 0x20 , PositionTime = 0x21 , PositionCurrentTime = 0x25 , PositionTorqueTime = 0x29
}
 コントロールモード一覧 [詳解]
 
enum  TrajectoryType { Even = 0x01 , FifthPoly = 0x05 , Error = 0xFF }
 補間制御軌道生成タイプの定義 [詳解]
 
enum  EditBaudrate {
  _57600 = 0x00 , _115200 = 0x01 , _625000 = 0x02 , _1000000 = 0x03 ,
  _1250000 = 0x04 , _1500000 = 0x05 , _2000000 = 0x06 , _3000000 = 0x07
}
 通信速度の定義 [詳解]
 
enum  EditParity { ParityNone = 0x00 , Odd = 0x01 , Even = 0x02 }
 パリティの定義 [詳解]
 
enum  SendCmd {
  MemREAD = 0xa0 , MemWRITE = 0xa1 , LOAD = 0xa2 , SAVE = 0xa3 ,
  MotorREAD = 0xa4 , MotorWRITE = 0xa5 , SystemREAD = 0xbb , SystemWRITE = 0xbc ,
  ReBoot = 0xbd , FactoryReset = 0xbe
}
 送信コマンド一覧 [詳解]
 
enum  BuffPter {
  Header = 0 , Header1 = 1 , ID = 2 , Length = 3 ,
  CMD = 4 , Option = 5 , Status = 5 , Data = 6
}
 送受信データ位置 [詳解]
 
enum  ReceiveDataOption {
  NoReturn = 0x00 , Position = 0x01 , Speed = 0x02 , Current = 0x04 ,
  Torque = 0x08 , Pwm = 0x10 , MotorTemp = 0x20 , CpuTemp = 0x40 ,
  Voltage = 0x80 , Full = 0xFF
}
 応答データの定義 [詳解]
 
enum  ComError {
  OK = 0 , TimeOut = 0xFF00 , CrcError = 0xFE00 , FormatError = 0xFD00 ,
  SendError = 0xFC00 , ReceiveError = 0xFB00 , MotorREADConvertError = 0xFA00 , NG = 0x8000 ,
  ErrorMask = 0xFF00
}
 データが返ってこないなどサーボモータ外に起因するエラー一覧の定義 [詳解]
 
enum  MinimumLength { Send = 8 , Receive = 8 }
 パケットの最低サイズ値の定義 [詳解]
 
enum  PmxStatusErrorList {
  SystemError = 0x01 , MotorError = 0x02 , CommunicationError = 0x04 , CommandError = 0x08 ,
  RamAccessError = 0x10 , ModeError = 0x20 , DataError = 0x40 , RunError = 0x80
}
 PMXのステータスの返信/エラー状態の値 [詳解]
 
enum  TorqueSwitchType {
  Control = 0x00 , TorqueOn = 0x01 , Free = 0x02 , Brake = 0x04 ,
  Hold = 0x08 , Mask = 0x0F , Error = 0xFF
}
 トルクスイッチの定義 [詳解]
 
enum  CloneReverseType { Clone = 0x01 , Reverse = 0x02 }
 クローン/リバースの定義 [詳解]
 

詳解

PMXの固有値の定義

更新履歴

  • 2024/09 : 1.0.0 -First Release

PMXの固有値を定義しています。

列挙型詳解

◆ BuffPter

送受信データ位置

送受信するパケット内のデータ位置を定義します。

列挙値
Header 

ヘッダ1

Header1 

ヘッダ2

ID 

サーボID

Length 

パケット長

CMD 

コマンド

Option 

オプション

Status 

ステータス

Data 

データ

◆ CloneReverseType

クローン/リバースの定義

クローン、リバースの値を定義します。

列挙値
Clone 

cloneOnの設定値

Reverse 

ReverseOnの設定値

◆ ComError

データが返ってこないなどサーボモータ外に起因するエラー一覧の定義

サーボモータ外に起因するエラー(通信タイムアウト等)のデータを定義しています

PMXと通信を行い、結果を返すときに使用します。

覚え書き
PMXと通信を行った際、PMXのstatusは1byteなので、頭にもう1byte付与しエラー値とします
PMXの通信結果を返す場合関数は、このComErrorとモータの返信status値を付与(OR)した値を返します
列挙値
OK 

正常

TimeOut 

無応答/Timeoutエラー

CrcError 

CRCエラー

FormatError 

作られたデータのフォーマットに異常があった

SendError 

送信する際に異常があった

ReceiveError 

受信したデータに異常があった

MotorREADConvertError 

MotorREADのデータ変換に異常があった

NG 

上記以外のエラー

ErrorMask 

マスク用のデータ

◆ ControlMode

コントロールモード一覧

位置や速度制御等の切り替えの値を定義します

列挙値
Position 

位置制御

Speed 

速度制御

PositionSpeed 

位置/速度制御

注釈
PMXのV1.1.0.xから有効
Current 

電流制御

PositionCurrent 

位置/電流制御

SpeedCurrent 

速度/電流制御

注釈
PMXのV1.1.0.xから有効
PositionSpeedCurrent 

位置/速度/電流制御

注釈
PMXのV1.1.0.xから有効
Torque 

トルク制御

PositionTorque 

位置/トルク制御

SpeedTorque 

速度/トルク制御

注釈
PMXのV1.1.0.xから有効
PositionSpeedTorque 

位置/速度/トルク制御

注釈
PMXのV1.1.0.xから有効
PWM 

PWM制御

Time 

時間(単体制御はないので定義のみ)

PositionTime 

位置/時間制御

PositionCurrentTime 

位置/電流/時間制御

PositionTorqueTime 

位置/トルク/時間制御

◆ EditBaudrate

通信速度の定義

PMXで設定する通信速度値を定義します。

列挙値
_57600 

57600bps

_115200 

115200bps

_625000 

625000bps

_1000000 

1Mbps

_1250000 

1.25Mbps

_1500000 

1.5Mbps

_2000000 

2Mbps

_3000000 

3Mbps

◆ EditParity

パリティの定義

PMXで設定するパリティの値を定義します。

列挙値
ParityNone 

パリティなし

Odd 

パリティ奇数

Even 

パリティ偶数

◆ MinimumLength

パケットの最低サイズ値の定義

送信、受信するパケットの最低サイズを定義します。

列挙値
Send 

送信コマンドの最低サイズ

Receive 

受信コマンドの最低サイズ

◆ PmxStatusErrorList

PMXのステータスの返信/エラー状態の値

サーボから返ってくるステータスのエラー値を定義します。

列挙値
SystemError 

System Error

MotorError 

Motor Error

CommunicationError 

Communication Error

CommandError 

Command Error

RamAccessError 

RAM Access Error

ModeError 

Mode Error

DataError 

Data Error

RunError 

run Error

◆ RamAddrList

RAMのアドレス一覧

メモリマップのアドレスを定義します。

列挙値
PositionKp 

位置制御のPゲイン

PositionKi 

位置制御のIゲイン

PositionKd 

位置制御のDゲイン

PositionStrc 

位置制御のストレッチ

SpeedKp 

速度制御のPゲイン

SpeedKi 

速度制御のIゲイン

SpeedKd 

速度制御のDゲイン

CurrentKp 

電流制御のPゲイン

CurrentKi 

電流制御のIゲイン

CurrentKd 

電流制御のDゲイン

TorqueKp 

トルク制御のPゲイン

TorqueKi 

トルク制御のIゲイン

TorqueKd 

トルク制御のDゲイン

PositionDeadBand 

位置制御 不感帯

SpeedDeadBand 

速度制御 不感帯

CurrentDeadBand 

電流制御 不感帯

TorqueDeadBand 

トルク制御 不感帯

CenterOffset 

中央値オフセット

CloneReverse 

クローン/リバース

MinVoltageLimit 

入力電圧最小値

MinVoltageLimitPower 

入力電圧最小時の出力%値

MaxVoltageLimit 

入力電圧最大値

MaxVoltageLimitPower 

入力電圧最大時の出力%値

CurrentLimit 

モータ消費電流最大値

CurrentLimitPower 

モータ消費電流最大時の出力%値

MotorTempLimit 

モータ温度最大値

MotorTempLimitPower 

モータ温度最大時の出力%値

CpuTempLimit 

CPU温度最大値

CpuTempLimitPower 

CPU温度最大時の出力%値

CwPositionLimit 

CW方向最大角値

CwPositionLimitPower 

CW方向最大角閾値外時の出力%値

CcwPositionLimit 

CCW方向最大角値

CcwPositionLimitPower 

CCW方向最大角閾値外時の出力%値

MaxGoalSpeed 

最大速度指令値

MaxGoalCurrent 

最大電流指令値

MaxGoalTorque 

最大動推定トルク指令値

TotalPowerRate 

モータ出力制限%値

LockDetectTime 

ロック時間

LockThresholdPower 

ロックと認識される出力割合

LockDetectOutputPower 

ロック時間の出力%値

presetPosAddr 

位置制御ゲインプリセット(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
presetSpdAddr 

速度制御ゲインプリセット(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
presetCurAddr 

電流制御ゲインプリセット(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
presetTrqAddr 

トルク制御ゲインプリセット(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
PositionKp2 

位置制御ゲインKp2(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
PositionKi2 

位置制御ゲインKi2(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
PositionKd2 

位置制御ゲインKd2(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
PositionStrc2 

位置制御ストレッチ2(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
SpeedKp2 

速度制御ゲインKp2(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
SpeedKi2 

速度制御ゲインKi2(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
SpeedKd2 

速度制御ゲインKd2(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
CurrentKp2 

電流制御ゲインKp2(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
CurrentKi2 

電流制御ゲインKi2(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
CurrentKd2 

電流制御ゲインKd2(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
TorqueKp2 

トルク制御ゲインKp2(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
TorqueKi2 

トルク制御ゲインKi2(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
TorqueKd2 

トルク制御ゲインKd2(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
PositionKp3 

位置制御ゲインKp3(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
PositionKi3 

位置制御ゲインKi3(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
PositionKd3 

位置制御ゲインKd3(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
PositionStrc3 

位置制御ストレッチ3(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
SpeedKp3 

速度制御ゲインKp3(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
SpeedKi3 

速度制御ゲインKi3(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
SpeedKd3 

速度制御ゲインKd3(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
CurrentKp3 

電流制御ゲインKp3(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
CurrentKi3 

電流制御ゲインKi3(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
CurrentKd3 

電流制御ゲインKd3(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
TorqueKp3 

トルク制御ゲインKp2(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
TorqueKi3 

トルク制御ゲインKi3(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
TorqueKd3 

トルク制御ゲインKd3(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
NowPosition 

現在位置

NowSpeed 

現在速度

NowCurrent 

現在電流

NowTorque 

出力推定トルク

NowPwm 

現在のPWM割合

MotorTemp 

モータ温度

CPUTemp 

CPU温度

InputVoltage 

入力電圧

TrajectoryTime 

現在の補間時間

EncoderValue 

エンコーダの現在値

ErrorStatus 

エラーステータス

ErrorSystem 

システムエラー

ErrorMotor 

モータエラー

ErrorRamAccess 

RAMアクセスエラー時のアドレス

TorqueSwitch 

トルクスイッチ

ControlMode 

制御モード

MotorReceiveData 

応答データフラグ

Trajectory 

補間制御起動生成タイプ指定

ShortBrakeCurrent 

電流制御時のショートブレーキ指定(PMXのV1.0.1.x~)

注釈
PMXのV1.0.1.xから有効になります
ShortBrakeTorque 

トルク制御時のショートブレーキ指定(PMXのV1.0.1.x~)

注釈
PMXのV1.0.1.xから有効になります
ShortBrakePWM 

PWM制御時のショートブレーキ指定(PMXのV1.0.1.x~)

注釈
PMXのV1.0.1.xから有効になります
LedMode 

LED点灯モード(PMXのV1.1.0.x~)

注釈
PMXのV1.1.0.xから有効
CenterOffsetMinRange 

中央値オフセット 最小値

CenterOffsetMaxRange 

中央値オフセット 最大値

MinVoltageMinRange 

入力電圧最小制限値 最小値

MinVoltageMaxRange 

入力電圧最小制限値 最大値

MaxVoltageMinRange 

入力電圧最大制限値 最小値

MaxVoltageMaxRange 

入力電圧最大制限値 最大値

FailSafeVoltageMinRange 

フェールセーフ電圧 最小値

FailSafeVoltageMaxRange 

フェールセーフ電圧 最大値

CurrentMinRange 

モータ消費電流設定値 最小値

CurrentMaxRange 

モータ消費電流設定値 最大値

MotorTempMinRange 

モータ温度設定値 最小値

MotorTempMaxRange 

モータ温度設定値 最大値

CpuTempMinRange 

CPU温度設定値 最小値

CpuTempMaxRange 

CPU温度設定値 最大値

CwPositionMinRange 

CW方向最大値 最小値

CwPositionMaxRange 

CW方向最大値 最大値

CcwPositionMinRange 

CCW方向最大値 最小値

CcwPositionMaxRange 

CCW方向最大値 最大値

MaxGoalSpeedMinRange 

最大速度設定値 最小値

MaxGoalSpeedMaxRange 

最大速度設定値 最大値

MaxGoalCurrentMinRange 

最大電流設定値 最小値

MaxGoalCurrentMaxRange 

最大電流設定値 最大値

MaxGoalTorqueMinRange 

最大トルク設定値 最小値

MaxGoalTorqueMaxRange 

最大トルク設定値 最大値

GoalCommandValue1 

目標指令値1(PMXのV1.0.1.x~)

注釈
PMXのV1.0.1.xから有効になります
GoalCommandValue2 

目標指令値2(PMXのV1.0.1.x~)

注釈
PMXのV1.0.1.xから有効になります
GoalCommandValue3 

目標指令値3(PMXのV1.0.1.x~)

注釈
PMXのV1.0.1.xから有効になります

◆ ReceiveDataOption

応答データの定義

MotorREAD, MotorWRITE等で使用する応答データの定義します。

複数のデータの返信をもらうには、該当するデータを足したものを使用します。

// 位置と電流値を返す値
returnData = PmxLib.ReceiveDataOption.Position + PmxLib.ReceiveDataOption.Current
列挙値
NoReturn 

応答データなし

Position 

現在位置

Speed 

現在速度

Current 

現在電流値

Torque 

現在推定トルク

Pwm 

PWM出力割合

MotorTemp 

モータ温度

CpuTemp 

CPU温度

Voltage 

入力電圧

Full 

全ての応答データを指定する

◆ SendCmd

送信コマンド一覧

PMXのパケットで指定する「コマンド」を定義します。

列挙値
MemREAD 

RAM上のデータを読み取る

MemWRITE 

RAM上へデータを書き込む

LOAD 

フラッシュメモリーに保存されているデータをRAMへ展開する

SAVE 

RAMのデータをフラッシュメモリーに保存する

MotorREAD 

ポジション指定コマンド

MotorWRITE 

RAM上へデータを書き込む

SystemREAD 

IDシリアル番号等の読み込み

SystemWRITE 

ID・通信速度・パリティ書き込み

ReBoot 

リセットコマンド

FactoryReset 

工場出荷時設定へ戻す

◆ TorqueSwitchType

トルクスイッチの定義

MotorWRITE, MemWRITEでの書き換えや、MotorREADなどで受け取ったトルクスイッチのデータ値を定義します。

列挙値
Control 

MotorWriteのオプションで使用

TorqueOn 

トルクON

Free 

フリーモード

Brake 

ショートブレーキモード

Hold 

Holdモード

Mask 

トルクON/OFFを抜き出すためのマスクする値

Error 

エラー

◆ TrajectoryType

補間制御軌道生成タイプの定義

PMXの時間制御で使用する加減速具合を設定します。

列挙値
Even 

均等補間

FifthPoly 

5次多項式補間

Error 

エラー