Modbus

Modbus RTUで制御するDPS3005の通信マニュアルでNode-REDを確認

現在、スマートライトのYouTubeチャンネルでNode-RED100本ノックという企画をやっております。

Node-RED100本ノック YouTube再生リスト

その第29回目に、ModbusRTUで制御できる安定化電源をNode-REDでコントロールする方法を紹介しました。

今回はここで紹介している楠川さんのブログに出ているNode-REDのフローをもとに、Modbusの学習をしていきたいと思います。

激安安定化電源を自動化して試験を楽にする(DPS3005をNode-REDで操作する)|電気/アンテナ/無線|技術開発|TechBLOG|Braveridge TechBLOG

全体のフロー

07 17 16 25 04

まずは全体のフローです。

07 17 16 25 30

Node-RED Dashboardから電圧・電流値を操作して、電源から出力させます。

電圧設定

07 17 16 26 41

電圧設定については、Dashboardで指定した電圧値が”Modbus Write”のノードに送られます。

07 17 16 28 59

debugノードをいれると、Modbus Writeにおくられるのはたとえば11.31Vであれば、1131という値がおくられています。

07 17 16 30 34

Modbus Writeノードでは、FCが”FC 6: Preset Single Register”となっています。

07 17 16 31 47

Modbusのサーバー側(modbus-clientノード)では、Baud rateが9600、Unit-Idが1となっています。

07 17 16 33 25

今度はModbus Writeから何がでているのかを確認。addressと電圧の値がでているようです。

よく見ると、Modbus writeノードには2つの出力があるので、両方ともみてみます。

07 17 16 35 36

上の出力には、valueとaddress以外にunitid、fc,quantityとmessageIdが追加されていました。

DPS3005のマニュアルで電圧設定の通信を確認

DPS3005のマニュアルの通信サンプルに、「ホストで電圧を24.00Vにする。(ファンクション0x06使用)」がありました。

ModbusRTUで制御できる激安電源DPS3005の通信マニュアルを和訳

07 17 17 47 23

先程のDebugノードの内容と比較すると

という感じですね。

まとめ

まずは、DPS3005のマニュアルと実際にModbus Writeノードから出力されたデータを比較して、電圧を設定する通信の仕組みが理解できました。

次回は他の機能についても確認していきたいとおもいます。

マニュアル debug
Slave address unitid 1
Function code fc 6
Register address address 0
The value to write
to the register
value 1124
ABOUT ME
中畑 隆拓
スマートライト㈱ 代表取締役。IoTソリューションの開発、スマートホーム&オフィスのコンサルティング、DALI,KNX,EnOceanなどのインテグレーションを行っています。

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です