ページへ戻る

− Links

 印刷 

Dynamixel PM54-040-S250-R :: Besttechnology

knowledge:Dynamixel PM54-040-S250-R

https://emanual.robotis.com/docs/en/dxl/​p/pm54-040-s250-r/[1]

コントロールテーブル anchor.png[2]

ページ内コンテンツ
    • 適用
    • アイテム一覧
      • 各アイテム詳細
        • Model Number/Model Information
        • Version of Firmware
        • ID
        • Baudrate
        • Return Delay Time
        • Drive Mode
        • Operating Mode
        • Secondary(Shadow) ID
        • Homing Offset
        • Moving Threshold
        • Temperature Limit
        • Max/Min Voltage Limit
        • PWM Limit
        • Current Limit
        • Acceleration Limit
        • Velocity Limit
        • Max/Min Position Limit
        • External Port Mode 1/2/3/4, External Port Data 1/2/3/4
        • Shutdown
        • Torque Enable
        • LED RED/GREEN/BLUE
        • Status Return Level
        • Registered Instruction
        • Hardware Error Status
        • Velocity I/P Gain, Feedforward 2nd Gain
        • Position D/I/P Gain, Feedforward 1st Gain
        • Bus Watchdog
        • Goal PWM
        • Goal Current
        • Goal Velocity
        • Profile Acceleration
        • Profile Velocity
        • Goal Position
        • Realtime Tick
        • Moving
        • Moving Status
        • Present PWM
        • Present Current
        • Present Velocity
        • Present Position
        • Present Input Voltage
        • Present Temperature
        • Indirect Address/Data

適用 anchor.png[3]

ファームウェア Ver.10以降を搭載した以下のDynamixel PROおよびPシリーズに共通するコントロールテーブルです。

Page Top

アイテム一覧 anchor.png[9]

AddressItemAccessDefault ValueType/Range
0Model NumberR-uint16
1
2Model InformationR0uint32
3
4
5
6Version of FirmwareR?uint8
7IDR/W (NVM)1uint8
0~252
8BaudrateR/W (NVM)1uint8
0~9
9Return Delay TimeR/W (NVM)250uint8
0~254
10Drive ModeR/W (NVM)0uint8
0~1
11Operating ModeR/W (NVM)3uint8
0~16
12Secondary(Shadow) IDR/W (NVM)255uint8
0~255
13
~
19
(reserve)R-uint8
20Homing OffsetR/W (NVM)0int32
21
22
23
24Moving ThresholdR/W (NVM)-uint32
25
26
27
28
~
30
(reserve)R-uint8
31Temperature LimitR/W (NVM)80uint8
0~100
32Max Voltage LimitR/W (NVM)350uint16
0~350
33
34Min Voltage LimitR/W (NVM)150uint16
0~350
35
36PWM LimitR/W (NVM)2009uint16
0~2009
37
38Current LimitR/W (NVM)-uint16
39
40Acceleration LimitR/W (NVM)-uint32
41
42
43
44Velocity LimitR/W (NVM)-uint32
45
46
47
48Max Position LimitR/W (NVM)-int32
49
50
51
52Min Position LimitR/W (NVM)-int32
53
54
55
56External Port Mode 1R/W (NVM)0uint8
0~3
57External Port Mode 2R/W (NVM)0
58External Port Mode 3R/W (NVM)0
59External Port Mode 4R/W (NVM)0
60
~
62
(reserve)R-uint8
63ShutdownR/W (NVM)52(0x34)uint8
0~255
64
~
167
(reserve)R-uint8
168Indirect Address 1R/W (NVM)634uint16
512~1023
169
170Indirect Address 2635
171
172,173
~
418,419
Indirect Address 3
~
Indirect Address 126
636
~
759
420Indirect Address 127760
421
422Indirect Address 128761
423
424
~
511
(reserve)R-uint8
512Torque EnableR/W0uint8
0~1
513LED REDR/W0uint8
0~255
514LED GREENR/W0
515LED BLUER/W0
516Status Return LevelR/W2uint8
0~2
517Registered InstructionR0uint8
518Hardware Error StatusR-uint8
519
~
523
(reserve)R-uint8
524Velocity I GainR/W-uint16
0~32767
525
526Velocity P GainR/W-
527
528Position D GainR/W-uint16
0~32767
529
530Position I GainR/W-
531
532Position P GainR/W-
533
534
~
535
(reserve)R-uint8
536Feedforward 2nd GainR/W-uint16
0~32767
537
538Feedforward 1st GainR/W-uint16
0~32767
539
540
~
545
(reserve)R-uint8
546Bus WatchdogR/W-uint8
0~127
547(reserve)R-uint8
548Goal PWMR/W-int16
-PWM Limit~PWM Limit‬
549
550Goal CurrentR/W-int16
-Current Limit~Current Limit‬
551
552Goal VelocityR/W0int32
-Velocity Limit~Velocity Limit
553
554
555
556Profile AccelerationR/W0uint32
0~Acceleration Limit
557
558
559
560Profile VelocityR/W0uint32
0~Velocity Limit
561
562
563
564Goal PositionR/W-int32
Min Position Limit~Max Position Limit‬
565
566
567
568Realtime TickR-uint16
0~32767
569
570MovingR0uint8
571Moving StatusR0uint8
572Present PWMR-int16
573
574Present CurrentR-int16
575
576Present VelocityR-int32
577
578
579
580Present PositionR-int32
581
582
583
584Velocity TrajectoryR-
585
586
587
588Position TrajectoryR-
589
590
591
592Present Input VoltageR-uint16
593
594Present TemperatureR-uint8
595
~
599
(reserve)R-uint8
600External Port Data 1R/W-uint16
601
602External Port Data 2
603
604External Port Data 3
605
606External Port Data 4
607
608
~
633
(reserve)R-uint8
634Indirect Data 1R/W0uint8
635Indirect Data 2
636Indirect Data 3
637
~
759
Indirect Data 4
~
Indirect Data 126
760Indirect Data 127
761Indirect Data 128
  • データ幅が16bitないし32bitのアイテムはリトルエンディアン(データの下位バイトから順に格納)。
  • Accessに(NVM)とあるアイテムは不揮発メモリとなっており、電源を切っても値が保持される。また頻繁な書き換えは想定されていないため、書き換えは必要最低限にとどめること。
  • Accessに(NVM)とあるアイテムとIndirect Addressを変更する場合は、Torque Enalbeが0でなくてはならない。
  • (reserve)はシステムで予約され、読み出した値に有効性はない。また、書き込みを行ってはならない。
  • Default Valueは出荷時ないしファクトリーリセットを行った際の値。又、ファームウェアのバージョンによって値が変更される場合がある。
Page Top

各アイテム詳細 anchor.png[10]

Page Top
Model Number/Model Information anchor.png[11]

モデル固有の値を保持します。異なる種類のDynamixelを混在して使用する際の個体識別などに使用できます。

Model NameValue
PH54-200-S500-R[4]2020(0x07E4)
PH54-100-S500-R[5]2010(0x07DA)
PH42-020-S300-R[6]2000(0x07D0)
PM54-060-S250-R[7]2120(0x0848)
PM54-040-S250-R2110(0x083E)
PM42-010-S260-R[8]2100(0x0834)
H54-200-S500-R(A)54025(0xD309)
H54-100-S500-R(A)53769(0xD209)
H42-20-S300-R(A)51201(0xC801)
M54-60-S250-R(A)46353(0xB511)
M54-40-S250-R(A)46097(0xB411)
M42-10-S260-R(A)43289(0xA919)

Page Top
Version of Firmware anchor.png[12]

内蔵されるCPUに書き込まれたプログラムのバージョンです。ファームウェアの更新を行った際に合わせて自動的に変更されます。

Page Top
ID anchor.png[13]

各Dynamixelを特定するための固有の値で0~252の範囲の数値で設定します。同一ネットワーク内に存在するDynamixelには各々異なるIDが要求されます。

Page Top
Baudrate anchor.png[14]

通信する際のボーレートです。ホストとDynamixelのボーレートは一致させなくてはなりません。

ValueBaudrate [bps]
09600
157600 (57613)
2115200 (115226)
31000000
42000000
53000000
64000000
74500000 (4421053)
86000000
910500000

Page Top
Return Delay Time anchor.png[15]

インストラクションパケットが送られた後、ステータスパケットを返すまでの待ち時間を設定します。
ホストにおける半二重のバス制御のタイミングに合わせて調整しますが、弊社のPC用USBシリアルI/Fを使用する限りでは0を設定しても問題ありません。

Delay Time [us] = Value * 2 [us]
Page Top
Drive Mode anchor.png[16]

デフォルト回転方向、プロファイル構成を設定します。
デフォルト回転方向によりはPosition, Velocity, PWMの各指令によるホーンの回転方向が変化します。
プロファイル構成は位置決め制御時に速度制御を行うか遷移時間制御を行うかを選択します。

BitNameDescription
7常時0
6常時0
5常時0
4常時0
3常時0
2常時0
1常時0
0Direction of rotation0:Normal (CCW方向を+、CW方向を-)
1:Reverse (CCW方向を-、CW方向を+)

Page Top
Operating Mode anchor.png[17]

動作モードを選択します。Valueに記載が無い値は予約済みのため、指定してはなりません。^ なお、MX-28は電流センサを備えていないため、設定可能なモードが限られます。

ValueModeDescription
0Current Control Mode電流制御。位置及び速度制御は行わない。
MX-28は指定不可
1Velocity Control Mode速度制御(電流制御併用)。位置制御は行わない。
3Position Control Mode位置制御(速度・電流制御併用)。GoalPositionは0~360°の1回転分の制御範囲に制限。
4Extended Position Control Mode拡張位置制御。GoalPositionの範囲が拡大され、最大±256回転まで対応。
16PWM Control ModePWMのデューティー比を制御。

Page Top
Secondary(Shadow) ID anchor.png[18]

DynamixelのSecondary IDを設定します。Secondary IDは、IDと同様に各Dynamixelを識別するために用いられます。なお、Secondary IDに253以上の値が設定されている場合、Secondary IDは機能しません。

Page Top
Homing Offset anchor.png[19]

この値が真の現在位置に加算されPresent Positionに反映されます。オフセット位置をホスト側では無くDynamixel側に持たせる際に使用します。

Position [deg] = Value * 360 [deg] / Resolution

ModelResolution for 1 revolution
PH54-200-S500-R[4]1003846
PH54-100-S500-R[5]1003846
PH42-020-S300-R[6]607500
PM54-060-S250-R[7]502834
PM54-040-S250-R502834
PM42-010-S260-R[8]526374
H54-200-S500-R(A)1003846
H54-100-S500-R(A)1003846
H42-20-S300-R(A)607500
M54-60-S250-R(A)502834
M54-40-S250-R(A)502834
M42-10-S260-R(A)526374

Page Top
Moving Threshold anchor.png[20]

Present Velocityの絶対値とこの値を比較した結果がMovingに示されます。

Velocity [rpm] = Value * 0.01 [rpm]
ModelDevault valueRange
PH54-200-S500-R[4]500~2900
PH54-100-S500-R[5]200~2920
PH42-020-S300-R[6]200~2920
PM54-060-S250-R[7]200~2830
PM54-040-S250-R200~2840
PM42-010-S260-R[8]200~2600
H54-200-S500-R(A)500~2900
H54-100-S500-R(A)200~2920
H42-20-S300-R(A)200~2920
M54-60-S250-R(A)200~2830
M54-40-S250-R(A)200~2840
M42-10-S260-R(A)200~2600

Page Top
Temperature Limit anchor.png[21]

Present Temperatureがこの値を超えるとHardware Error Statusの該当ビットがONになり、Shutdownで指定された動作に遷移します。

Temperature [degC] = Value * 1 [degC]
Page Top
Max/Min Voltage Limit anchor.png[22]

Present Input Voltageがこの値の範囲を超えるとHardware Error Statusの該当ビットはONになり、Shutdownで指定された動作に遷移します。

Voltage [V] = Value * 0.1 [V]
Page Top
PWM Limit anchor.png[23]

Goal PWMの絶対値はこの値以下に制限されます。

Duty [%] = Value * 100 [%] / 2009
Page Top
Current Limit anchor.png[24]

Goal Currentの絶対値はこの値以下に制限されます。

Current [mA] = Value * 1 [mA]
ModelDefault valueRange
PH54-200-S500-R[4]227400~22740
PH54-100-S500-R[5]159000~15900
PH42-020-S300-R[6]45000~4500
PM54-060-S250-R[7]79800~7980
PM54-040-S250-R44700~4470
PM42-010-S260-R[8]14610~1461
H54-200-S500-R(A)227400~22740
H54-100-S500-R(A)159000~15900
H42-20-S300-R(A)45000~4500
M54-60-S250-R(A)79800~7980
M54-40-S250-R(A)44700~4470
M42-10-S260-R(A)14610~1461

Page Top
Acceleration Limit anchor.png[25]

Goal Accelerationはこの値以下に制限されます。

Acceleration [rpm²] = Value * 58000 [rpm²]
ModelDefault valueRange
PH54-200-S500-R[4]99820~3992644
PH54-100-S500-R[5]106390~4255632
PH42-020-S300-R[6]107650~4306173
PM54-060-S250-R[7]111450~4457932
PM54-040-S250-R110370~4414976
PM42-010-S260-R[8]108670~4346756
H54-200-S500-R(A)99820~3992644
H54-100-S500-R(A)106390~4255632
H42-20-S300-R(A)107650~4306173
M54-60-S250-R(A)111450~4457932
M54-40-S250-R(A)110370~4414976
M42-10-S260-R(A)108670~4346756

Page Top
Velocity Limit anchor.png[26]

Goal Velocityの絶対値はこの値以下に制限されます。

Velocity [rpm] = Value * 0.01 [rpm]
ModelDefault valueRange
PH54-200-S500-R[4]29000~2900
PH54-100-S500-R[5]29200~2920
PH42-020-S300-R[6]29200~2920
PM54-060-S250-R[7]28300~2830
PM54-040-S250-R28400~2840
PM42-010-S260-R[8]26000~2600
H54-200-S500-R(A)29000~2900
H54-100-S500-R(A)29200~2920
H42-20-S300-R(A)29200~2920
M54-60-S250-R(A)28300~2830
M54-40-S250-R(A)28400~2840
M42-10-S260-R(A)26000~2600

Page Top
Max/Min Position Limit anchor.png[27]

Operating ModeにPosition Control Modeが設定されている時にGoal Positionはこの値の範囲内に制限されます。

Position [deg] = Value * 360 [deg] / Resolution

モデル毎のResolutionはこちら。

ModelDefault value
MaxMin
PH54-200-S500-R[4]501923-501923
PH54-100-S500-R[5]501923-501923
PH42-020-S300-R[6]303750-303750
PM54-060-S250-R[7]251417-251417
PM54-040-S250-R251417-251417
PM42-010-S260-R[8]263187-263187
H54-200-S500-R(A)501923-501923
H54-100-S500-R(A)501923-501923
H42-20-S300-R(A)303750-303750
M54-60-S250-R(A)251417-251417
M54-40-S250-R(A)251417-251417
M42-10-S260-R(A)263187-263187

Page Top
External Port Mode 1/2/3/4, External Port Data 1/2/3/4 anchor.png[28]

Modeにて3つのExternal Portをデジタル入出力、もしくはアナログ入力に設定します。

Mode ValueModeDescription
0Analog INPortNへ入力された0~3.3Vの電圧を12bitの分解能でA/D測定しDataNにストア
1Digital OUT
(PushPull)
DataNに0の書き込みでPortNから3.3V、1の書き込みでPortNから0Vを出力
VOH:2.4V, VOL:0.5V
2Digital IN
(PullUp)
PortNへ0Vの入力でDataに0、PortNへ3.3Vの入力でDataに1をストア
VIH:2.3V, VIL:1.0V
PullUp/Down Reg:40kΩ(typ)
3Digital IN
(PullDown)

Page Top
Shutdown anchor.png[29]

この設定とHardware Error Statusの論理積が0以外になると、Torque Enableは0になりモータの出力が遮断されシャットダウン状態に遷移します。以後通常のインストラクションパケットにてTorque Enableを1にする事ができません。

BitName
7常時0
6常時0
5Overload Error
4Electrical Shock Error
3Motor Encoder Error
2Overheating Error
1Motor hall sensor error
0Input Voltage Error

なお、シャットダウン状態から復帰するには発生している障害を排除した後、電源の再投入か、REBOOTインストラクションパケットを受信しなくてはなりません。

Page Top
Torque Enable anchor.png[30]

出力軸をフリーにするか、設定されたOperating Modeに従った制御を開始します。

ValueDescription
0出力軸フリー、制御停止、ロックされたアイテムを解除
1Operating Modeに従った制御開始、NVM及びIndirect Address領域のアイテムロック

Page Top
LED RED/GREEN/BLUE anchor.png[31]

本体に装備された3色のLEDの輝度を設定します。

ValueDescription
0~2550~100%

Page Top
Status Return Level anchor.png[32]

ステータスパケットを返信するインストラクションパケットを選択します。

ValueInstruction to respond
0Ping
1Ping, Read
2Ping, Read, Write, Reg Write, Factory Reset, Reboot, Sync Read, Bulk Read

Page Top
Registered Instruction anchor.png[33]

Reg Writeインストラクションパケットを受信すると1、その後Actionインストラクションパケットを受信すると0になります。

Page Top
Hardware Error Status anchor.png[34]

様々なフィードバックと内部の制御状態を比較した結果を示します。さらに、この値とShutdownの論理積の結果により動作を継続するか否かを決定します。

BitNameDescription
7-常時0
6-常時0
5Overload Error最大出力で制御できない負荷が継続的に発生した
4Electrical Shock Error電気的に回路が衝撃を受けたり入力電力が不足してモータが正常動作しない
3Motor Encoder Errorエンコーダが正常動作しない
2Overheating ErrorPresent TemperatureがTemperature Limitを超えた
1Motor hall sensor errorモータのホールセンサがリミット値を超えた
0Input Voltage ErrorPresent VoltageがMax​/Min Voltage Limitの範囲を超えた

Page Top
Velocity I/P Gain, Feedforward 2nd Gain anchor.png[35]

速度制御演算における各種制御ゲインを指定します。
Operating ModeにVelocity Control Modeが設定されている時に有効です。

ModelDefault Value
IP
PH54-200-S500-R[4]??
PH54-100-S500-R[5]??
PH42-020-S300-R[6]??
PM54-060-S250-R[7]??
PM54-040-S250-R??
PM42-010-S260-R[8]??
H54-200-S500-R(A)??
H54-100-S500-R(A)??
H42-20-S300-R(A)??
M54-60-S250-R(A)??
M54-40-S250-R(A)??
M42-10-S260-R(A)??

Page Top
Position D/I/P Gain, Feedforward 1st Gain anchor.png[37]

位置制御演算における各種制御ゲインを指定します。
Operating ModeにPosition Control Mode・Extended Position Control Modeが設定されている時に有効な値です。

ModelDefault Value
DIP
PH54-200-S500-R[4]???
PH54-100-S500-R[5]???
PH42-020-S300-R[6]???
PM54-060-S250-R[7]???
PM54-040-S250-R???
PM42-010-S260-R[8]???
H54-200-S500-R(A)???
H54-100-S500-R(A)???
H42-20-S300-R(A)???
M54-60-S250-R(A)???
M54-40-S250-R(A)???
M42-10-S260-R(A)???

Page Top
Bus Watchdog anchor.png[39]

無通信状態を監視する時間を指定します。
Bus Watchdogが1以上でかつTorque Enableが1である場合、ホストコントローラとDynamixel間の通信間隔を監視します。その間隔が指定時間よりも大きい場合にDynamixelは停止し、Bus Watchdogは-1に変更されます。Bus Watchdog Error状態になると、Goal PWM・Goal Current・Goal Velocity・Goal Positionの各アイテムは読み取り専用に変更されます。Bus Wathdogの値を0に変更すると、Bus Watchdog Errorは解除されます。

ValueDescription
0Bus Watchdog無効, Bus Watchdog Error状態を解除
1~127Bus Watchdog有効 (Value * 20[ms])
-1Bus Watchdog Error状態
Page Top
Goal PWM anchor.png[40]

PWMのデューティー比を指定します。
Operating ModeにPWM Modeが設定されている事はもとより、全てのModeにおける制御演算結果はPWMのデューティ比として算出されるため、必ず制御の最終段においてこの値以下にデューティー比が制限されモータへ印加されます。

Duty [%] = Value * 100 [%] / 2009
Page Top
Goal Current anchor.png[41]

電流制御の目標値を指定します。
Operating ModeにPosition Control Mode・Extended Position Control Mode・Velocity Control Mode・Current Control Modeが設定されている時に有効な値です。

Current [mA] = Value [mA]
Page Top
Goal Velocity anchor.png[42]

速度制御の目標値を指定します。
Operating ModeにVelocity Control Modeが設定されている時に有効な値です。

Velocity [rpm] = Value * 0.01 [rpm]
DX_VeloDir.png
Page Top
Profile Acceleration anchor.png[43]

Profileの加速度を指定します。
Operating ModeがCurrent Control Modeである時を除くModeに有効です。
加速度は以下の式で決まります。

Acceleration [rpm²] = Value * 1 [rpm²]

詳細はProfile Velocityを参照ください。

Page Top
Profile Velocity anchor.png[44]

Profileの最大速度を指定します。
Operating ModeがCurrent Control ModeないしVelocity Control Modeである時を除くModeに有効です。なお、Velocity Control Mode時はGoal Velocityが最大速度として採用されます。

Max Velocity [rpm] = Value * 0.01 [rpm]

加速度・最大速度・目標位置の値によって最終的に3種類の軌跡が得られます。位置制御時における設定値による位置と速度のProfileを以下に示します。

ProfileCondition, Waveform
ステップProfile Velocity = 0, Acceleration = don't care
Profile_Step.png
矩形Profile Velocity ≠ 0, Acceleration = 0
Profile_Rectangle.png
台形Profile Velocity ≠ 0, Acceleration ≠ 0
Profile_Trapezoidal.png

適当な加速度と最大速度を設定した上で目標位置を指令する事で、急峻な加速度を伴う位置決め制御による機械的なショックを軽減できます。また、目標位置への到達時間が決まっている場合は、時間から加速度と最大速度を求めて設定する事で対応できます。
なお、上記波形のt1は、概ね以下の数式で求められます。

t1 = 600 * (Goal Velocity / Profile Acceleration))

また、これらの他に急峻な加速度変化を抑える制御を行っているため、最終的な目標到達時間はt3よりも長くなる場合があります。

Page Top
Goal Position anchor.png[45]

位置制御の目標値を指定します。
Operating ModeにPosition Control Mode・Extended Position Control Modeが設定されている時に有効で、各Mode毎に指摘できる数値範囲が異なります。

Operating ModeValue RangeMax Turnover Number
3Min Position Limit~Max Position Limit1
4-2147483647~+2147483647-256~+256

Position [deg] = Value * 360 / Resolution
DX_PosDir.png

モデル毎のResolutionはこちら。

Page Top
Realtime Tick anchor.png[46]

15ビットのフリーランカウンタで、1ms周期毎にインクリメントされます。

Page Top
Moving anchor.png[47]

Present Velocityの絶対値とMoving Thresholdの比較結果を示します。

ValueDescription
0Moving Threshold ≥ |Present Velocity|
1Moving Threshold < |Present Velocity|

Page Top
Moving Status anchor.png[48]

動作中の状況を示します。

BitNameDescription
7-常時0
6-常時0
5Profile Type11:台形速度Profile
01:矩形速度Profile
00:Step速度Profile 
4
3-常時0
2-常時0
1-常時0
0In-Position位置制御時、目標位置到達

Page Top
Present PWM anchor.png[49]

制御中のPWM出力値です。

Duty [%] = Value * 100 [%] / 2009
Page Top
Present Current anchor.png[50]

現在モータへ流れている電流です。

Current [mA] = Value * 1 [mA]
Page Top
Present Velocity anchor.png[51]

現在の出力軸の回転数です。

Velocity [rpm] = Value * VelocityScalingFactor [rpm]
Page Top
Present Position anchor.png[52]

真の位置からHoming Offsetを除した出力軸の位置です。
Torque Enableが0の状態ではレンジフローするまで回転に応じた増減をしますが、Torque Enableを1にした瞬間にOperating Modeに依存した値でクリップされます。

Position [deg] = Value * 360 [deg] / Resolution

なおPresent Positionは次の場合にリセットされます。

  • パワーサイクルや再起動
  • Operating ModeをPosition Control Modeに変更
  • Position Control Mode時にTorque Enableを1に変更

モデル毎のResolutionはこちら。

Page Top
Present Input Voltage anchor.png[53]

現在の印加電圧です。

Voltage [V] = Value * 0.1 [V]
Page Top
Present Temperature anchor.png[54]

現在の内部温度です。

Temperature [degC] = Value * 1 [degC]
Page Top
Indirect Address/Data anchor.png[55]

コントロールテーブル上のアドレスを再構成します。
Indirect Address N(N=1~128)とIndirect Data N(N=1~128)は対になっており、Indirect Address Nに任意のコントロールテーブル上のアドレスXを設定すると、その後Indirect Data Nへアクセスする事はIndirect Address Nに設定されたアドレスXへ間接的にアクセスする事になります。

具体的な例として、ホストから頻繁にアクセスしたいアイテムが複数あり、それらが離れたアドレスに配置されていた場合を考えます。通常はそれらアイテム全てをまたぐアドレス範囲のデータをまとめてアクセスするか、個々のアイテムに個別にアクセスするとった手段を執ります。これには本来無用なデータやアクセス回数が強いられるため、通信のトラフィックが上がる要因になるのと、ホスト側のプログラムの負担になります。
ホストから書き込み対象としてPosition P Gain・Goal Velocity・Goal Position、読み出し対象としてPresent Position・Present Temperatureがあった場合、これらをIndirect Data領域に再配置するには以下の手順を踏みます。

  1. Position P Gainのアドレス532~533をIndirect Address 1~2に書き込み
  2. Goal Velocityのアドレス552~555をIndirect Address 3~6に書き込み
  3. Goal Positionのアドレス564~567をIndirect Address 7~10に書き込み
  4. Present Positionのアドレス580~583をIndirect Address 11~14に書き込み
  5. Present Temperatureのアドレス594をIndirect Address 15に書き込み

以後Indirect Data 1からの連続した634番地にアクセスする事は、再配置したアイテムへ個々に間接的にアクセスした事になります。

DX_Indirect_p.png

なお、Indirect Addressがデフォルト値のままであれば、Indirect Data領域はユーザ任意のRAM領域として扱うことができます。


Last-modified: 2020-11-16 (月) 09:45:07 (JST) (1256d) by takaboo