MINATAと学ぶオートメーション #43:モドバスRTU — 機器をつなぐ前に、RS-485の回線を正しく読む
モドバスRTU:機器をつなぐ前に、RS-485の回線を正しく読む
モドバスRTUは、PLCがインバータ、電力量計、賢いセンサーとRS-485で話すための、単純で広く使われている規約である。単純だからこそ、物理の層が飛ばされやすい。そして「回線ぜんぶが死んでいる」と報告される不具合の多くは、通信速度、局番、A/Bの極性、終端から来る。プログラムの理屈からではない。
全体像:一つのマスタと複数のスレーブ
モドバスRTUの回線では、一台が マスタ として問い、スレーブ が局番に応じて答える。スレーブの局番は1から247までで、重なってはいけない。マスタは局番、ファンクションコード、データ、CRCからなる要求を送り、その局番のスレーブだけが返す。古典的な構成では、自分から話しはじめる機器が二台あることはない。
合っていなければならない四つの設定
回線上のすべての機器が、通信速度、データ長、パリティ、ストップビット を同じにしていなければならない。あるインバータだけが9600-8-E-1で、PLCが19200-8-N-1なら、その機器は黙ったままになる。プログラムに触れる前に、この四つを確かめる。
モドバスのデータ領域
モドバスはデータを四つの領域に分ける。正しい数を得る前提は、正しい領域を読むことである。
| 領域 | 型 | 読み出しのコード | 使いどころ |
|---|
| コイル | 読み書きできるビット | 01 | 入切の指令 |
| 入力ビット | 読み出し専用のビット | 02 | 入力の状態 |
| 入力レジスタ | 読み出し専用のワード | 04 | 測った値 |
| 保持レジスタ | 読み書きできるワード | 03 | パラメータ、設定値 |
レジスタの対応表は、型式とファームウェアが一致する取扱説明書から取る。同じメーカーでも系列が違えば番地の付け方が違うことがある。資料によって番号が一つずれる書き方にも注意する。40001番のレジスタが番地0を指すことは珍しくない。
RS-485の層:極性、終端、バイアス
- A/Bの極性: この二本を入れ替えてしまうのが、いちばん多い不具合である。疑わしければ入れ替えて試す。
- 数珠つなぎ: 機器から機器へ順につなぐ。長い枝分かれをつくらない。
- 120Ωの終端抵抗: 距離が長いとき、速度が高いときは回線の両端に入れ、反射を抑える。
- バイアス抵抗: 誰も話していないときに回線の電位を決め、雑音をデータと読み違えないようにする。
- シールド付きの対より線を使い、信号の基準電位は機器の資料どおりにつなぐ。
参考になる現場の一場面
PLCがインバータの状態と電流をモドバスRTUで読んでいる。HMIには 通信の無応答 と ドライブの異常 を別々に出す。返事が来なくなったのなら、確かめるのは配線と局番である。ドライブが異常を出したのなら、見るのはモーターと負荷である。この二つを一つのランプにまとめてはいけない。
通信速度、局番、レジスタの対応表、回線の構成は、最終的には機器の取扱説明書と機械の資料に従う。
よくある間違い
- 通信速度、パリティ、局番、極性を確かめる前にプログラムを直しはじめる。
- 同じ回線に同じ局番の機器が二台ある。
- 長い配線で終端とバイアスを忘れ、読めたり読めなかったりを追いかける。
- 領域を取り違える。入力レジスタと保持レジスタの読み違い。
- 通信の異常と機器の異常を、一つの警報にまとめる。
モドバスRTUのチェックリスト
- [ ] 通信速度、データ長、パリティ、ストップビットが回線全体で同じ。
- [ ] スレーブの局番が重複せず、資料に記録されている。
- [ ] レジスタの対応表が型式とファームウェアに合い、番号のずれも処理した。
- [ ] 極性が正しく、必要なところに終端とバイアスがある。
- [ ] 無応答と再送が制御されており、通信と機器の警報が分かれている。
機器をつなぐ前に回線を理解しておくと、目に見えない不具合を追う時間を何時間も節約できる。次の #44 では、同じ規約をイーサネットへ広げたモドバスTCPを扱う。
MINATAで自動化の知識をもっと読む:https://minatavn.com/ja/blog/industrial-automation
前の記事 — #42:HMIとPLCをつなぐ:https://minatavn.com/ja/blog/automation-42-hmi-plc-connection-ja
次の記事 — #44:イーサネット上のモドバスTCP:https://minatavn.com/ja/blog/automation-44-modbus-tcp-ja
MINATAの技術記事をすべて見る