回路網の旅

電気・電子に偏った社会人がおくる日々の記録。

ModbusRTU工作1

2016年12月31日 09時48分50秒 | 工作
ひょんなことから、ModbusRTUという通信プロトコルと関わる機会が増えてきたので
理解する為につくってみることにしました。

ModbusRTUは、シリアル通信プロトコルの1種で物理層はRS-485そのままです。
PLC向けの規格のため、FAや工場設備の制御など産業用途が多いです。この辺は、仕事で関わりがある知ってる人しか知らない情報かもしれません。通信速度は19.2kbpsと低速ですが、RS-485はマルチドロップのため、芋ずるでたくさんのリレーやランプ、スイッチ(接点)の制御するのに便利です。オープン規格なところもいいですね。プロトコルも複雑ではないのでマイコンに組み込めそうです。

マスタースレーブ方式のため、マスタ(PLCかPC)から問い合わせをかけたらスレーブが応答します。ファンクションコードという機能分類があり、デジタル値の読み出しやレジスタへの書き込みがあります。
スレーブIDの設定範囲は1~247、データアドレスは1~9999なので、がんばったら数百万ビットの制御ができそう。

ざっくり計算で、ファンクションコード1とし、19.2kbpsで1バイト分が10ビット送信として0.52msかかり、問い合わせに8バイト分80ビットで4.17ms、応答に6バイト分60ビットで3.12msとなり合計7.29ms(2バイト毎)。

プロトコルは、Modbusの業界団体のWEBページからみることができます。もっとも、RTUのイーサネット版のModbusTCPが主なようです。
http://modbus.org/

産業用ネットワーク(フィールドバスというらしい)は、まだまだ業界標準が定まってないようでいろいろな規格があります。用途が限定されず速度やリアルタイム性など要求が多様なためなんでしょうか。

まとめると、ちょっとON/OFF制御をいっぱいしたいときに使う通信ですね!




最新の画像もっと見る

post a comment