改 訂 来 歴 制定年月日 形式 タイトル 制定年月日 形式 タイトル 作成者 第 版 . . 訂正 番号 年月日 ペ ー ジ 作 成 点 検 承 認 ’15.08.27 TAD8810/TAD8811/TAD8812 ModbusRTU 通 信 仕 様 書 改 訂 理 由
TAD8810/TAD8811/TAD8812
ModbusRTU通信仕様書
△
2△
1 15.09.08 1 タイトル誤記訂正△
2 15.09.11 1 誤記訂正1.概 要
本 資 料 は 、 A Cサ ー ボ ド ライ バ TA D 8 810 / T A D 881 1 / TA D 88 12の ModbusRTU フ ォー マッ ト でのRS485通 信 仕 様 について説 明 しています 。 多 摩 川 精 機 独 自 フ ォー マッ ト での R S2 32 / R S 485 通 信 に つ いては 、 別 途 シ リ ア ル 通 信 仕 様 書 (SPC00925 6W00 )を参 照 下 さい。2.ModbusRTUについて
Modbusの通 信 方 式 はシングルマスタ/マルチスレーブ方 式 です。 マス タとは 上 位 シ ー ケ ン サ ( P LC ) や コン ト ロ ー ラ を指 し 、 ACサ ー ボ ドライ バ TA D 88 10 / TA D 8 811/TAD8812はスレ ーブとなります。 マスタだけがクエリ(問 い合 わせ)を発 行 出 来 ます。 マ ス タ は 指 定 の ス レ ー ブ に 対 す る ク エ リ 、 また は 全 て の スレ ー ブ に 対 す る ブ ロ ー ドキ ャ ス ト ク エ リ を発 行 することが出 来 ます。 スレーブはクエリで要 求 された処 理 を実 行 し、応 答 メッセージを返 信 します。 但 しブロードキャストクエリの場 合 、スレーブは応 答 メッセージを返 信 しません。 TAD8810/ TAD8811/TAD8812では 、保 持 レジスタエリア(レジ スタアドレ ス40001~4 9999)にドライバパラメータを配 置 しております。 マ ス タ は こ の 保 持 レ ジ ス タ エ リ ア へ ア ク セ ス す る こ と で ド ラ イ バ を 制 御 ・ モ ニ タ す る 事 が 出 来 ま す。 ■ スレーブ( ドライバ )の MAC-I Dについて スレーブ局 番 としてはドライバパラメータ ID5(MAC-ID)を使 用 します。 MAC-IDはドライバパラメータID5に、1~63まで設 定 することができます。 同 じ通 信 ライン上 に 接 続 され ているドライバに 対 して、重 複 しなければ どの番 号 を設 定 しても 結 構 です。3 . 構 成
ModbusRTUでのRS485通 信 ではマスタ1に対 してスレーブ最 大 31の接 続 が可 能 です。 ※ 接 続 条 件 や ノ イズ 環 境 によ り 最 大 接 続 数 は 低 下 す る 場 合 が あ りま す。 図 -1 Modbus通 信 構 成 上位装置(マスタ) ドライバ(スレーブ) MAC ID = 2 ②MAC ID = 2の スレーブから返信 モータ ①マスタからのクエリ MAC ID = 2のスレーブを 指定して送信 ModbusRTU (マルチポイント・ 半2重・調歩同期) ドライバ(スレーブ) MAC ID = 3 モータ ドライバ(スレーブ) MAC ID = 1 モータ4 . 基 本 仕 様
ボーレート 9800/19200/38400/ 56 000/57600/115200bps ※ パ ラ メ ー タ に よ り 変 更 可 能 パ リ テ ィ 無 し/偶 数 /奇 数 ※ パ ラメー タに よ り 変 更 可 能 データビット 8ビット ストップビット 1ビット/2ビット ※パ ラ メータ によ り 変 更 可 能 通 信 方 式 半 二 重 調 歩 同 期 プロトコル Modbus RTUモード準 拠 接 続 数 マスタ1に対 しスレーブ1~31 フ ァ ン ク シ ョ ン コード(FC) 3(03h) :各 種 データ読 み出 し 16(10h) :各 種 データ書 き込 み 8(08h) :メンテナンス( エコーバック) メッセージ長 最 大 41byteB2
B1
B3
A3
A2
A1
ヘッダー 1-1827876-3 (TE Connectivity 製)ピン番号
機能
A1 TxD+ B1 TxD- A2 DC5V B2 GND A3 TxD-(R) B3 GND ■ 相手側コネクタ リセ・ハウジング 1-1827864-3 (TE Connectivity製) リセ・コンタクト 1827588-2 (TE Connectivity製) AWG24~28 ヒートシンク側 銘板側 (プラスチックカバー側) ツイストペア シールドケーブル A1 B1 A2 B2 A3 B3 RS485トランシーバIC LTC2858(LTC製)相当 5V GND 120Ω ドライバ内 CN5 TxD+ TxD-DC5V GND GND TxD-(R) ツイストペア シールドケーブル A1 B1 A2 B2 A3 B3 5V GND 120Ω CN6 TxD+ TxD-DC5V GND GND TxD-(R)5.接 続 方 法
RS485コネクタ( CN5,CN6 )のpin配 置 は以 下 の通 りです。 通 常 はA1(TxD+)/B1(TxD-)/B2(GND)を上 位 ユニットや他 のドライバと接 続 します。 またケーブルのシールドはB3( GND)に接 続 します。 A2のDC5Vはドライバ内 部 で生 成 している 5V電 源 ですが、通 常 は何 も接 続 しないで下 さい。 特 に外 部 装 置 の電 源 としては使 用 しないで下 さい(電 流 供 給 能 力 はあ りません)。 A3のTxD-(R)は、内 部 で120Ω の終 端 抵 抗 を介 してTxD-に繋 がっています。 その為 、以 下 の様 に配 線 方 法 で終 端 抵 抗 有 り/無 しを選 択 する事 が可 能 ですツイストペア シールドケーブル A1 B1 A2 B2 A3 B3 RS485トランシーバIC LTC2858(LTC製)相当 5V GND 120Ω ドライバ内 CN5 TxD+ TxD-DC5V GND GND TxD-(R) A1 B1 A2 B2 A3 B3 5V GND 120Ω CN6 TxD+ TxD-DC5V GND GND TxD-(R) A1とA3をショートすると、 TxD+~TxD-間120Ω の 終端抵抗が挿入されます。 RS485トランシーバIC LTC2858(LTC製)相当 RS485コネクタ1 終端抵抗(120Ω ) ※終端抵抗は必ず 付けて下さい サーボドライバ1 RS485コネクタ2 GND TxD+ TxD- TxD+ TxD- GND サーボドライバ2 ツイストペア シールドケーブル シールドケーブルツイストペア 上位側 終端抵抗(120Ω ) ※終端抵抗は必ず 付けて下さい SG TxD+ TxD-図 3 終 端 接 続 の場 合 ( 終 端 抵 抗 あり) CN5 と CN6 の 各 pin は 内 部 で 繋 が っ て い ま す の で 、 図 3 の 接 続 に す る と 終 端 抵 抗 を 挿 入 した接 続 になります。 RS485 の 多 軸 の デ ィー ジ ー チ ェー ン 接 続 で 中 継 点 の ド ライ バ で は 図 2の 接 続 を 、 終 端 に 位 置 するドライバでは図 3の接 続 にします。 また1:1の接 続 でも、ドライバは図 3の接 続 にします。 接 続 イメージは図 4の通 りです。 図 4 接 続 イメージ
5.標 準 ケーブル
Modbus(RS485)用 のケーブルとして弊 社 では以 下 の標 準 ケーブルを用 意 しています。 ※ 本 標 準 ケ ー ブ ル は SV-NET ( CA N) ケ ー ブ ル と 共 通 の た め 、名 称 が SV-NET ケ ー ブ ル とな
っています。
Pin名 称 はCAN+がTxD+ 、CAN-がTxD-に相 当 しています。
■結線例 ■結線例 2 接続 ドラ イバ SV-NE T コ ネク タ 3 接続 ドラ イバ SV-NE T コ ネク タ 1 接続 ドラ イバ SV-NE T コ ネク タ 2 接続 ドラ イバ SV-NE T コ ネク タ 3 接続 ドラ イバ SV-NE T コ ネク タ 形式:EUA1354 形式:EUA1287
■結線例 1 接続 ドラ イバ SV-NE T コ ネク タ 形式:EUA1294 120Ω 終端抵抗端 -
6.初 期 設 定
ModbusRTU通 信 を行 う前 に、以 下 のパ ラメータを適 切 に設 定 下 さい。 ModbusRTUを使 用 する場 合 はパラメータID141のBit 2/1をあらかじめ“10”に設 定 下 さい。 ID 名称 L W M 内容 出荷時 設定範囲 表記 5 MAC-ID 1 ○ ○ メディアアクセスコントロールID(局番) 63 1~63 DEC 6 通信速度 2 ○ ○ SV-NET/RS232/RS485通信速度設定 SEG0:SV-NET通信速度 0:125kbps 1:250kbps 2:500kbps 4:1Mbps (出荷初期値) SEG1:RS232通信速度 0:115200bps (出荷初期値) 1:9600bps 2:19200bps 3:38400bps 4:56000bps 5:57600bps 6:115200bps SEG2:RS485(ModbusRTU)通信速度 0:115200bps (出荷初期値) 1:9600bps 2:19200bps 3:38400bps 4:56000bps 5:57600bps 6:115200bps SEG3:ModbusRTUキャラクタ設定 0:パリティ無し、ストップビット1(出荷初期 値) 1:パリティ無し、ストップビット2 2:偶数パリティ、ストップビット1 3:偶数パリティ、ストップビット2 4:奇数パリティ、ストップビット1 5:奇数パリティ、ストップビット2 例 ) SV-NET=1Mbps 、 RS232=56000bps 、 RS485=19200bps、Modbusを偶数パリティ、 ストップビット1に設定する場合:2244h ※周辺環境やケーブルの状態により通信エ ラーが発生する場合は通信速度を遅く設定 下さい。 ※設定変更&パラメータ保存後、電源再起 動により有効になります 0004 0000 ~ 5444 HEX 141 特殊機能切り換え 2 ○ ○ サーボ機能の特殊設定 Bit2/Bit1 :SV-NET~RS485切替設定 00=SV-NET有効 01=RS485(多摩川フォーマット)有効 10=RS485(ModbusRTUフォーマット)有効 例)ModbusRTU有効の場合:0004h (設定変更&パラメータ保存後、電源再起 動により有効になります) Bit12:PWMキャリア周波数設定 0:10kHz 1:13.3kHz ※設定変更&パラメータ保存後、電源再起 動により有効になります 注意! 機能割当てのないBitは必ず“0”に 設定してください。 - 0000 ~ 1004 HEX※パラメータID:330,331は拡 張 パラメータ領 域 に配 置 されています。 I D 名 称 L W M 内 容 出荷時 設定範囲 表記 3 3 0 Modbus RTU 返 信 待 ち 時 間 2 ○ ○ M o d b u s R T U 通 信 に お い て 、 マ ス タ か ら ク エ リ を 受 信 し た 後 、 ス レ ー ブ が レ ス ポ ン ス の 返 信 を 開 始 す る ま で の 時 間 [ m s ] ※ 本 設 定 値 が 応 答 時 間 ( T _ r e s ) よ り 小 さ い 場 合 は 、 応 答 時 間 ( T _ r e s ) が 返 信 待 ち 時 間 に な り ま す ※ 設 定 変 更 & パ ラ メ ー タ 保 存 後 、 電 源 再 起 動 に よ り 有 効 に な り ま す 0 0 ~ 1 0 0 0 D E C 3 3 1 M o d b u s R T U 通 信 タイ ム ア ウ ト 2 ○ ○ M o d b u s R T U 通 信 に お い て 、 サ ー ボ オ ン 中 に 、 マ ス タ か ら 自 局 へ の ク エ リ 、 も し く は ブ ロ ー ド キ ャ ス ト ク エ リ が 途 絶 え た 時 間 が こ の パ ラ メ ー タ に 設 定 さ れ た 時 間 を 越 え る と 自 動 的 に サ ー ボ オ フ と な り ま す [ m s e c ] 0 に 設 定 す る と 無 効 に な り ま す 0 0 ~ 3 2 7 6 7 D E C 記号 意味 ID パラメータID L データ長(Byte) W 書き込み M 不揮発性メモリへの記憶
7.通 信 タイミング
通 信 タイミングは以 下 の通 りになります。 Modbus RTU 通 信 では、メッ セー ジ フ レーム は 3.5キ ャ ラク ター 以 上 の待 ち 時 間 に よ りフ レー ム の 最 初 と最 後 を判 断 し ています の で、ク エ リ と応 答 の 間 に は 、最 低 で も “ 3.5キ ャ ラク ター 時 間 +CPU処 理 時 間 ”の待 ち時 間 が必 要 になります。 スレーブ の局 番 ( MAC ID ) を指 定 して通 信 す る場 合 、マスタから のクエリに 対 して応 答 が あり ま す。 マ ス タ か ら の ク エ リ を 受 信 後 、 ス レ ー ブ は 返 信 待 ち 時 間 ( T_res ) 経 過 後 に 応 答 メ ッ セ ー ジ の 送 信 を開 始 します。 ま た 応 答 メ ッ セ ー ジ を 全 て 送 信 後 、 次 の ク エ リ を 受 け 付 け ら れ る ま で に は 受 信 ウ エ イ ト 時 間 ( T_wait ) が 必 要 で す の で 、 マ ス タ は T_wait 時 間 経 過 後 に 次 の ク エ リ を 送 信 す る 必 要 が あ り ま す。 ま た ス レ ー ブ の 応 答 は バ ス 占 有 開 始 か ら デ ー タ の 送 信 開 始 ま での 時 間 T_bus が 規 定 さ れ て い ます。 図 5 通 信 タイミング(スレーブの局 番 を指 定 して通 信 する場 合 ) 図 6 スレーブ側 応 答 タイミング クエリ 応答 マスタ スレーブ クエリ 応答T_res T_wait T_res
・・・ ・・・ 受信完了後、 T_res後 にバス占有 バス占有後、 T_bus後に 送信開始 送信完了後、200~400μ s後に バス解放 マスタ側クエリ スレーブ側応答 ・・・ T_bus T_res
ブロードキャストクエリの場 合 はスレーブからの返 信 はありません。 しかしスレーブがブロードキャストクエリを受 信 後 、次 のクエリを受 け付 けられるまでにはブロード キ ャ スト 受 信 ウ エイ ト 時 間 ( T_bwait ) が 必 要 です の で、 マスタは T_bwait 時 間 経 過 後 に 次 の ク エ リを送 信 する必 要 があります。 図 7 通 信 タイミング(ブロードキャストクエリの場 合 ) T_res、T_wait、T_bus 、T_bwaitの時 間 は通 信 ボーレートによって異 なります。 下 記 表 を参 照 下 さい。 ※上 記 時 間 は最 大 値 です。スレーブ側 の処 理 タイミングにより変 動 します。 ボーレート T_res T_bus T_wait T_bwait
9600[bps] 7.4[ms] 2.4[ms] 1.6[ms] 1.6[ms] 19200[bps] 4.2[ms] 1.2[ms] 38400[bps] 2.2[ms] 0.6[ms] 56000[bps] 2.0[ms] 0.4[ms] 57600[bps] 2.0[ms] 0.4[ms] 115200[bps] 1.8[ms] 0.2[ms] クエリ マスタ スレーブ クエリ T_bwait クエリ T_bwait
クエリ、応 答 共 に以 下 の構 成 になっています。
スレーブ局 番 ファンクションコード データ CRC
8bit 8bit 8bit×N 16bit
●スレーブ局 番 マスタからのクエリでは指 示 したいスレーブの局 番 ( MAC ID)を設 定 します。 またブロードキャスト送 信 する場 合 はスレーブ局 番 を0に設 定 します。 スレーブからの応 答 では、自 局 の局 番 ( MAC I D)が設 定 されます。 ●ファンクションコード マスタからのクエリでは、実 行 する処 理 に応 じて下 記 のファンクションコードを設 定 します。 ファンクションコード 機 能 ブロードキャスト 3(03h) 各 種 データ読 み出 し 不 可 16(10h) 各 種 データ書 き込 み 可 8(08h) メンテナンス(エコーバック) 不 可 スレーブからの応 答 では、実 行 したファンクションコードを返 します。 ●データ ファンクションコードに応 じたデータを設 定 します。 ●CRC 通 信 誤 り検 出 の為 、フ レームの最 後 に CRCチェックデータを付 加 します。 送 信 側 は「スレーブ局 番 、ファンクションコード、データ」の CRC-16を計 算 してフレームの最 後 に付 加 します。 受 信 側 でも同 じ様 に CRC-16を計 算 してフレーム最 後 の CRCと比 較 します。 もしCRCが一 致 しない場 合 、データは破 棄 され、応 答 メッセージは返 信 されません。
8.通 信 メッセージ構 成
8.1 基 本 構 成8.2 CR C-16計 算 について CRC-16は「スレーブ局番、ファンクションコード、データ」の全構成に対して1バイトずつ計算します。 計 算 手 順 は以 下 の通 り です。 ①初 期 値 は0xFFFF ②通 信 フレームの1バイトデータ(最 初 はスレーブ局 番 から)と排 他 的 論 理 和 ( XOR)する。 ③もし計 算 結 果 の最 下 位 bitが”1”ならば、1bit右 シフトし、さらに 0xA001でXORする。 もし計 算 結 果 の最 下 位 bitが”0”ならば、1bit右 シフトするのみ。 ④③の処 理 を8回 繰 り返 す(8 bit全 てシフトするまで繰 り返 す)。 ⑤②~④の処 理 を全 構 成 バイトで繰 り返 し、最 終 的 に残 った値 が CRCデータとなる。 上 記 の手 順 をC言 語 で作 成 した場 合 のサンプルソフトを以 下 に示 します。 これは入 力 引 数 として通 信 フレームバイト数 と、通 信 データ( 1バイト毎 )のポインタを入 力 すると、 全 フレームのCRC-16を計 算 し、計 算 結 果 を出 力 する関 数 です。 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * CR C - 1 6 計 算 処 理 * * In pu t: l e n = 計 算 フレー ム by te 数 * * bu f= 受 信 / 送 信 バ ッフ ァ ポ インタ * * Ou t pu t : CR C - 1 6 計 算 結 果 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / sh o rt ma ke _c rc 1 6 ( sh or t l e n , u n si gn e d c h a r* bu f) { In t c r = 0 xFFF F; In t i , j; fo r( i = 0 ; i < l e n ; i + + ) { c r = c r ^ bu f[i ] ; fo r( j = 0 ; j < 8 ; j+ + ) { i f ( (c r & 0 x0 0 0 1 ) = = 1 ) { c r > > = 1 ; c r = c r ^ 0 xA 0 0 1 ; } e l se { c r > > = 1 ; } } } re tu rn c r ; }
8.3 各種データ読み出し ファンクションコード3(03h)により各種データの読み出しを行います。 ●マスタからのクエリ スレーブ局番 ファンクション コード 先頭アドレス 読み出し個数 CRC MAC ID 03h 上位 下位 上位 下位 下位 上位
(8bit) (8bit) (8bit) (8bit) (8bit) (8bit) (8bit) (8bit) ●スレーブからの応答(正常応答時)
スレーブ局番 ファンクション
コード バイト数 読み出しデータ CRC
MAC ID 03h 上位 下位 ・・・ 下位 上位
(8bit) (8bit) (8bit) (8bit) (8bit) (n×2×8bit) (8bit) (8bit) ①スレーブ局番 指示したいスレーブの局番(MAC ID)を設定します。 ブロードキャスト送信は出来ません。 ②ファンクションコード 3(03h)を設定します。 ③先頭アドレス 保持レジスタのデータ読み出しを開始する先頭アドレスを設定します。 ④読み出し個数 読み出す保持レジスタの個数を設定します。 読み出し可能なレジス多数は最大16です。 ⑤CRC CRC-16計算結果を設定します。 注意:CRCは他のデータと異なり、下位バイトが先に設定されます。 ⑥バイト数 ④で指定した読み出し個数の2倍が設定されます。 ⑦読み出しデータ 読み出しデータは先頭アドレスのデータ、先頭アドレス+1のデータ、先頭アドレス+2のデ ータ・・という順番で、読み出し個数分設定されます。 1データはHiバイト、Lowバイトの順で設定されています。
8.4 各種データ書き込み ファンクションコード16(10h)により各種データの書き込みを行います。 ●マスタからのクエリ スレーブ 局番 ファンク ション コード 先頭アドレス 書き込み個数 バイト 数 書き込みデータ CRC MAC ID 10h 上位 下位 上位 下位 上位 下位 ・・・ 下位 上位
(8bit) (8bit) (8bit) (8bit) (8bit) (8bit) (8bit) (8bit) (8bit) (n×2
×8bit) (8bit) (8bit)
●スレーブからの応答(正常応答時)
スレーブ局番 ファンクション
コード 先頭アドレス 書き込み個数 CRC
MAC ID 10h 上位 下位 上位 下位 下位 上位
(8bit) (8bit) (8bit) (8bit) (8bit) (8bit) (8bit) (8bit) ①スレーブ局番 指示したいスレーブの局番(MAC ID)を設定します。 またブロードキャスト送信する場合はスレーブ局番を0に設定します。 ※ブロードキャスト送信の場合はスレーブからの応答は帰ってきません。 ②ファンクションコード 16(10h)を設定します。 ③先頭アドレス 保持レジスタのデータ書き込みを開始する先頭アドレスを設定します。 ④書き込み個数 書き込む保持レジスタの個数を設定します。 書き込み可能なレジス多数は最大16です。 ⑤バイト数 ④で指定した書き込み個数の2倍が設定します。 ⑥書き込みデータ 書き込みデータは先頭アドレスのデータ、先頭アドレス+1のデータ、先頭アドレス+2のデ ータ・・という順番で、書き込み個数分設定します。 1データはHiバイト、Lowバイトの順で設定します ⑦CRC CRC-16計算結果を設定します。
8.5 メンテナンス(エコーバック) ファンクションコード8(8h)により通信チェックが出来ます。 スレーブ側がクエリを正常に受信出来た場合は、マスタからのクエリと同じ内容をそのまま返信します。 ●マスタからのクエリ スレーブ局番 ファンクション コード サブファンクションコード チェックデータ CRC MAC ID 08h 00h 00h 上位 下位 下位 上位
(8bit) (8bit) (8bit) (8bit) (8bit) (8bit) (8bit) (8bit) ●スレーブからの応答(正常応答時)
スレーブ局番 ファンクション
コード サブファンクションコード チェックデータ CRC
MAC ID 08h 00h 00h 上位 下位 下位 上位
(8bit) (8bit) (8bit) (8bit) (8bit) (8bit) (8bit) (8bit) ①スレーブ局番 指示したいスレーブの局番(MAC ID)を設定します。 ブロードキャスト送信は出来ません。 ②ファンクションコード 8(8h)を設定します。 ③サブファンクションコード 0000hを設定します。 ④チェックデータ 2バイト長(0000h~FFFFh)で任意のデータを設定します。 ⑤CRC CRC-16計算結果を設定します。
8.6 エラー応 答 マスタからのクエリの内 容 に異 常 が検 出 された場 合 、スレーブはエラーメッセージを応 答 します。 但 し、パリティー、CRC、オーバーラン、フレーミング、Busyのエラー時 には応 答 はありません。 ●スレーブからのエラーメッセージ応 答 スレ ー ブ 局 番 フ ァンク シ ョン コ ード 例 外 コード CRC MAC ID 元 フ ァンク シ ョン コ ード + 8 0 h 下 位 上 位
(8bit) (8bit) (8bit) (8bit) (8bit) ① レーブ局 番 マスタより受 信 したスレ ーブの局 番 ( MAC ID)が設 定 されます。 ②ファンクションコード マスタより受 信 したファンクションコードに80hを加 算 した値 が設 定 され ます。 例 )クエリ:03h→エラーメッセージ応 答 : 83h ③例 外 コード エラーの内 容 によって、以 下 の例 外 コードが設 定 されます。 01:ファンクションコード異 常 スレーブがサポートしていないファンクションコードが設 定 された。 02:アドレス異 常 スレーブがサポートしていない先 頭 ア ドレスが設 定 された。 03:データ異 常 スレーブが取 り扱 えないデータが設 定 された。 ( 書 き 込 み 不 可 な パ ラ メ ー タ へ の 書 き 込 み 、 ス レ ー ブ が サ ポ ー ト し て い な い レ ジ ス タ 数 が 設 定 された、バイト数 がレジスタ数 ×2以 外 の値 など) ④CRC CRC- 16計 算 結 果 が 設 定 されます。
9 レジスタアドレス一 覧
Modbus 通 信 プ ロ ト コ ル の 概 念 上 で は 保 持 レ ジ ス タ は ア ド レ ス 40001 ~ 49999 に 配 置 さ れ ま す が、通 信 上 で保 持 レジ スタアドレスは 40000を省 略 した(40000を引 いた)値 で設 定 します。 その為 レジスタアドレス一 覧 では 40000を省 略 したアドレスで記 載 します。 尚 、ア ドレ ス1 ~ 511に はドライバ パラメー タ ID1~511 が 配 置 され ていますが 、 Modbus 通 信 プ ロ ト コル 上 は 一 つ の ア ドレスに 2バ イ ト のデ ー タとなり ます の で、読 み 込 み ・書 き込 み したレ ジ スタ の パ ラメー タが 2バ イ ト 長 以 外 の デ ー タだっ た 場 合 は 、 以 下 の ル ー ル に 従 っ て 2バ イ ト デ ー タと して扱 われます。 ・ 1バイト長 パラメータの場 合 読 み込 み時 :符 号 付 きデータとして2バイトに拡 張 して読 み込 まれ ます。 例 )0x0 1→0x0001、0x81→0xFF81 書 き込 み時 :上 位 1バイトは無 視 して書 き込 みます。 ・ 4バイト/6バイト長 パラメータの場 合 読 み込 み時 :下 位 2バイトが読 み込 まれます。 書 き込 み時 :下 位 2バイトのみ上 書 更 新 きされます。 4 バ イ ト 長 、 6 バ イ ト 長 の パ ラ メ ー タ を 扱 う 場 合 、 下 位 2 バ イ ト だ け の や り と り で は デ ー タ を 壊 す 可 能 性 がありますのでご注 意 下 さい。 4バ イ ト / 6バ イ ト 長 パ ラメー タの 読 み 書 きし たい 場 合 は 、ア ドレ ス 512 ~ 5 25 に 配 置 され て いる 専 用 命 令 を使 って読 み 書 き出 来 ます。 ま た 、 一 部 指 令 、 モ ニ タ は 別 途 ア ド レ ス 100 0 ~ 1 999 、 200 0 ~ 2999 に 配 置 さ れ て い ま す の で 、 そちらから読 み書 きする事 も出 来 ます。 ●4バイト長 のパラメータを読 み込 む場 合 例 )パラメータID40(フィードバック位 置 )を読 み込 む場 合 方 法 1:ダイレクト読 み込 みを使 う方 法 ①レジスタアドレス512に 「40」を設 定 ②レジスタアドレス514/5 15を読 み込 む 例 え ば レ ジ ス タ ア ド レ ス 514=1234h 、 515=5 678h の 場 合 、 パ ラ メ ー タ ID40 の 値 は 12345678h 方 法 2:モニタデータを読 み込 む方 法 ①レジスタアドレス2000 、2001を読 み込 む 例 え ば レ ジ ス タ ア ド レ ス 2000 が 1234h 、 200 1 が 5678h の 場 合 、 パ ラ メ ー タ ID40 の 値 は 12345678h ●4バイト長 のパラメータを書 き込 む場 合 例 )パラメータID32(位 置 決 め目 標 位 置 )に 123 4ABCDhを書 き込 む場 合 方 法 1:ダイレクト書 き込 みを使 う方 法 ①レジスタアドレス518に 「1234h」、519に「ABCD h」を設 定 ②レジスタアドレス516に 「32」を設 定 方 法 2:指 令 データアドレスを使 って書 き込 む方 法 ①レジスタアドレス1002 に「1234h」、1003に「AB CDh」を設 定TAD8810/TAD8811/TAD8812の Modbus 通 信 レジスタアドレス一 覧 は以 下 の通 りです。 9.1 パラメータグ ループ アドレス1~999はドライバパラメータIDに沿 ったデータが配 置 されています。 機 能 等 の詳 細 はドライバの取 扱 説 明 書 を参 照 下 さい。 ドライ バの マニュ アルに記 載 されていないパラメー タIDや 、記 載 されていないア ドレ ス、予 備 の ア ドレスにはアクセスしないで下 さい。 レ ジ ス タ ア ド レ ス 名前 内 容 Read / Write 備 考 DEC HEX 1 0001h ドライバ パラメータ 1~511 ドライバパラメータのID1~511に対 応しています。 詳細はドライバの取扱説明書を参 照下さい。 取 説 参 照 ~ ~ 511 01FF h 512 0200h ダイレク ト読み 込みアドレス ここにドライバパラメータIDを設定し ておくと、レジスタアドレス513~515 からパラメータ値を読み込む事が出 来ます。 4byteや6byteのパラメータを読みた い場合等に使用します。 Read / Write 513 0201h ダイレク ト読み 込 みデータ (6~5バイト目) レジスタアドレス512に設定されてい るパラメータIDのパラメータ値を返し ます。 パラメータが1~4バイトデータの場 合、上位バイトはパラメータの最上 位bitにより埋められます。 例)4バイト長パラメータのデータが 89ABCDEFhの場合、読み取り値は FFFF89ABCDEFh Read Only 514 0202h ダイレク ト読み 込 みデータ (4~3バイト目) Read Only 515 0203h ダイレク ト読み 込 みデータ (2~1バイト目) [最下位バイト] Read Only 516 0204h ダ イ レ ク ト 書 き 込みアドレス ここにドライバパラメータIDを設定す ると、レジスタアドレス517~519のデ ータをパラメータに書き込みます。 書き込み動作は本アドレスに値を書 き込んだ瞬間に行われます。 4byteや6byteのパラメータを書き込 みたい場合等に使用します。 Read / Write 517 0205h ダ イ レ ク ト 書 き 込 みデータ (6~5バイト目) ここに書き込みたい値をセットしてか らID516にパラメータIDをセットする と、そのパラメータを書き込みます。 書き込みは各パラメータのデータ長 で自動的に書き込まれ、それを超え るデータは無視されます。 例)4バイトデータを書く場合はレジ スタアドレス517は無視されます。 Read / Write 518 0206h ダ イ レ ク ト 書 き 込 みデータ (4~3バイト目) Read / Write 519 0207h ダ イ レ ク ト 書 き 込 みデータ (2~1バイト目) Read /
レジスタアドレス 名 前 内 容 Read / Write 備 考 DEC HEX 520 0208h 簡易コントロール ステップ (Program Pointer) 簡易コントロール機能のプログラ ムステップを設定します。 Read / Write 簡 易 コ ン ト ロ ー ル 機 能 の 詳 細 に つ い て は 、 別 紙 ” 簡 易 コ ン ト ロ ー ル 機 能 詳 細 資 料 ” を 参 照 下 さい。 521 0209h 命令コード上位 [Program[Step][0] (上位2バイト) 簡易コントロールステップで指定し たステップの命令コード上位32bit Read / Write 522 020Ah 命令コード上位 [Program[Step][0] (下位2バイト) Read / Write 523 020Bh 命令コード中位 [Program[Step][1] (上位2バイト) 簡易コントロールステップで指定し たステップの命令コード中位32bit Read / Write 524 020Ch 命令コード中位 [Program[Step][1] (下位2バイト) Read / Write 525 020Dh 命令コード下位 [Program[Step][2] (上位2バイト) 簡易コントロールステップで指定し たステップの命令コード下位32bit Read / Write 526 020Eh 命令コード下位 [Program[Step][2] (下位2バイト) Read / Write 527 020Fh 簡易コントロール ステータス ( ControlProgStep Status) 簡易コントロール機能のステータ ス表示 下位8bit:実行中のステップ 12bit:全ステップ完了(127ステップ 完了)で”1” Read Only 528 0210h 予 備 - - ア ク セ ス し な いで下 さい ~ ~ 999 03E7h
9.2 指 令 グ ループ アドレス1000~1999は 指 令 関 連 のパラメータが配 置 されています。 機 能 詳 細 はドライバの取 扱 説 明 書 を参 照 下 さい。 注 意 :4バイト長 のパラメータを書 き込 む場 合 、 1 回 のクエリで書 き込 んで下 さい。 ク エ リ を分 け て書 き 込 む と、 ドライ バ 内 の 処 理 で は 上 位 2 バ イ ト と 下 位 2 バ イ ト が 別 の タイ ミングで書 き替 えられるため、データを破 壊 しないように注 意 する必 要 があります。 レジスタアドレ ス 名 前 内 容 Read/ Write 備 考 DEC HEX
1000 03E8h サーボコマンド ドライバのパラメータID30(サーボコマンド)です。 Read/ Write 1001 03E9h 制御モード ドライバのパラメータID31(制御 モード)です。 Read/ Write 1002 03EAh 位置決め目標位置 (上位2バイト) ドライバパラメータID32(位置決 め目標位置)です。 Read/ Write 1003 03EBh 位置決め目標位置 (下位2バイト) 1004 03ECh 位置決め目標速度 ドライバパラメータID33(位置決 め目標速度)です。 Read/ Write 1005 03EDh 加速度 ドライバパラメータID34(加速度)です。 Read/ Write 1006 03EEh 減速度 ドライバパラメータID35(減速度)です。 Read/ Write 1007 03EFh リアルタイム指令位置 (上位2バイト) ドライバパラメータID36(リアルタイム 指令位置)です。 Read/ Write 1008 03F0h リアルタイム指令位置 (下位2バイト) 1009 03F1h リアルタイム指令速度 ドライバパラメータID37(リアルタイム指令速度)です。 Read/ Write 1010 03F2h リアルタイム指令電流 ドライバパラメータID38(リアルタイム指令電流)です。 Read/ Write 1011 03F3h ポジションリセット値 (上位2バイト) ドライバパラメータID39(ポジショ ンリセット値)です。 Read/ Write 1012 03F4h ポジションリセット値 (下位2バイト) 1013 03F5h 予備 - - ア ク セ ス し な い で下 さい ~ ~ 1999 07CFh
9.3 モニ タグループ アドレス2000~2999はモ ニタ関 連 のパラメータが配 置 されています。 機 能 詳 細 はドライバの取 扱 説 明 書 を参 照 下 さい。 注 意 :4バイト長 、6バイト長 のパラメータを読 み込 む場 合 、 1回 のクエリで読 み込 んで下 さい。 ク エリ を分 けて読 み込 むと、各 々の バイト が別 の タイ ミング で読 み込 まれ るため、デー タが 変 化 している最 中 に読 み込 むと異 常 な値 となり ます。 レ ジ ス タ ア ド レ ス 名 前 内 容 Read/ Write 備 考 DEC HEX 2000 07D0h フィードバック位置 (上位2バイト) ドライバパラメータID40(フィード バック位置)です。 Read Only 2001 07D1h フィードバック位置 (下位2バイト)
2002 07D2h フィードバック速度 ドライバパラメータID41(フィードバック速度)です。 Read Only 2003 07D3h フィードバック電流 ドライバパラメータID42(フィードバック電流)です。 Read Only 2004 07D4h フィードバックPVC (上位2バイト) ドライバパラメータID43(フィード バックPVC)です。 Read Only 2005 07D5h フィードバックPVC (中位2バイト) 2006 07D6h フィードバックPVC (上位2バイト) 2007 07D7h フィードバックPVC (上位2バイト) ドライバパラメータID44(フィード バックSVC)です。 Read Only 2008 07D8h フィードバックSVC (中位2バイト) 2009 07D9h フィードバックSVC (上位2バイト) 2010 07DAh センサーポジション1 (上位2バイト) ドライバパラメータID45(センサー ポジション1)です。 Read Only 2011 07DBh センサーポジション1 (下位2バイト) 2012 07DCh センサーポジション2 (上位2バイト) ドライバパラメータID46(センサー ポジション2)です。 Read Only 2013 07DDh センサーポジション2 (下位2バイト) 2014 07DEh センサーポジション (上位2バイト) ドライバパラメータID47(センサー ポジション)です。 Read Only 2015 07DFh センサーポジション (下位2バイト) 2016 07E0h 外部エンコーダポジション (上位2バイト) ドライバパラメータID48(外部エ ンコーダポジション)です。 Read Only 2017 07E1h 外部エンコーダポジション (下位2バイト) 2018 07E2h 位置偏差 (上位2バイト) ドライバパラメータID49(位置偏 差)です。 Read Only 2019 07E3h 位置偏差 (下位2バイト) 2020 07E4h 予備 - - ア ク セ ス し な い で下 さい ~ ~ 2999 0BB7h
10.通 信 例
10.1 位 置 情 報 の読 み出 し MAC ID=1のスレーブに対 してフィードバック位 置 を読 み出 します。 フ ィー ドバ ック 位 置 は ドライ バパ ラメー タ ID 40の値 です が 、4バイ ト 長 のデー タであり 、レ ジ スタア ドレス40からは4バイト全 て読 み出 すことは出 来 ません。 その為 、以 下 の何 れか の方 法 で読 み込 みます。 ①レジスタアドレス512に「40」を書 き込 んだ後 にレジスタアドレス514/515を読 み込 む方 法 ②レジスタアドレス2000,2001を読 み込 む方 法 以 下 の例 は②の方 法 で通 信 しています。 ●マスタからのクエリ スレ ー ブ 局 番 フ ァンク シ ョン コ ート ゙ 先 頭 アドレス 読 み出 し個 数 CRC MAC ID 03h 上 位 下 位 上 位 下 位 下 位 上 位 01h 03h 07h D0h 00h 02h C4h 86h ●スレーブからの応 答 (正 常 応 答 時 ) ※返 信 されたフィードバック位 置 が「 -105900」時 スレ ー ブ 局 番 フ ァンク シ ョン コ ート ゙ バイト数 読 み出 しデータ CRC MAC ID 03h 上 位 下 位 上 位 下 位 下 位 上 位 01h 03h 04h FFh FEh 62h 54h 83h 48h 10.2 ゲインの書 き込 み MAC ID=1のスレーブに 対 して位 置 ループゲインと速 度 ループゲイン、速 度 ループ積 分 ゲインを 書 き込 みます。 そ れ ぞ れ のパ ラメー タは位 置 ル ー プゲ イ ン : ID50 、速 度 ル ー プ ゲイ ン : ID51 、速 度 ル ー プ 積 分 ゲ イン:ID52と並 んでいる為 、以 下 の様 に3データ一 度 に書 き込 むことが 出 来 ます。 ●マスタからのクエリ 位 置 ループゲイン← 60、速 度 ループゲイン← 100、速 度 ループ積 分 ゲイン← 125を書 き込 む場 合 ス レ ー フ ゙ 局 番 ファンクション コード 先頭アドレス 書き込み個 数 バイト 数 書き込みデータ CRC M A C I D 10h 上位 下位 上位 下位 上位 下位 上位 下位 上位 下位 下位 上位 01h 10h 00h 32h 00h 03h 06h 00h 3Ch 00h 64h 00h 7Dh 96h 4Eh ●スレーブからの応 答 (正 常 応 答 時 ) スレ ー ブ 局 番 フ ァンク シ ョン コ ート ゙ 先 頭 アドレス 書 き込 み個 数 CRC MAC ID 10h 上 位 下 位 上 位 下 位 下 位 上 位 01h 10h 00h 32h 00h 03h 21h C7h変 更 履 歴
変更年月日 副番 変更理由 変更内容