Intern

OMRON「KM-N1」電力モニタからのデータをPUSHLOGに送ってみよう

はじめに

今回はOMRONさんの「KM-N1-FLK」で電力クランプから取ったデータをPUSHLOGにModBus通信で取って行きます

PUSHLOGの操作方法や接続方法は前回の記事をご参照ください

PUSHLOGにElsnerのModbus-CO2センサデータを送ってみよう はじめに 今回は前回使用したElsner CO2センサーのデータを「PUSHLOG」という製品にデータを送ってみます ht...

目次

KM-N1-FLKとは

KM-N1-FLKは、エネルギー計測用のデバイスで、Modbus RTUプロトコルを使用した産業用機器との通信に特化しています
信頼性の高いシンプルな通信を提供し、広範な産業アプリケーションに適しています

センサ設定

電源を付ける

値を取りたい線に電力クランプを繋ぎます

クランプの線をセンサに繋いで行きます

ここからはセンサ自体の設定をやっていきます
KM-N1をModBusモードにしていきます
①/MODEボタンを長押しします

こんな感じの画面が出ます

②5回ぐらい/MODEを押すと「MENU00」が出てきます
写真ではModbになっているが最初は別のモードになっているためモードをModbに変更する
「ENTER」→「上下ボタン」→「ENTER」で設定可能

③BPSの設定
先程のモード設定画面で下ボタンを押すとMENU01になります
これも先ほど同じように「ENTER」を押して設定していきます
9.6bps・19.2bps・38.4bpsがあります
おススメは19.2bpsです

④Parityを設定
MENU04に行ってParityをEVENに設定します

⑤設定が終わったら/MODEを長押しして設定を保存します

Node-REDで受信する

Comfortclick USBドングルを使用してNode-REDでデータが取れるかを確認します

以下の様な感じで繋いで行きます

Node-red側

書き出し

[{"id":"cb3dc6fdf08d21fc","type":"modbus-read","z":"9aa256fa99bee2ed","name":"","topic":"","showStatusActivities":true,"logIOActivities":false,"showErrors":false,"showWarnings":false,"unitid":"1","dataType":"HoldingRegister","adr":"0","quantity":"20","rate":"10","rateUnit":"s","delayOnStart":false,"startDelayTime":"","server":"b62d434859b22bc4","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"x":350,"y":380,"wires":[["8c77e183eee451e0"],[]]},{"id":"8c77e183eee451e0","type":"debug","z":"9aa256fa99bee2ed","name":"debug 9","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":620,"y":380,"wires":[]},{"id":"b62d434859b22bc4","type":"modbus-client","name":"","clienttype":"serial","bufferCommands":true,"stateLogEnabled":false,"queueLogEnabled":false,"failureLogEnabled":false,"tcpHost":"127.0.0.1","tcpPort":"502","tcpType":"DEFAULT","serialPort":"COM11","serialType":"RTU-BUFFERD","serialBaudrate":"19200","serialDatabits":"8","serialStopbits":"1","serialParity":"even","serialConnectionDelay":"100","serialAsciiResponseStartDelimiter":"0x3A","unit_id":"1","commandDelay":"1","clientTimeout":"1000","reconnectOnTimeout":true,"reconnectTimeout":"2000","parallelUnitIdsAllowed":true,"showErrors":false,"showWarnings":true,"showLogs":true}]


・Modbus-READノード

FC:Read Holding Registerを選択
Quantity:とりあえず0~20で入っているのを全部見たいので選択
Poll Rate:10秒に1回取って来る

Node-redでAddressを指定する場合は10進数なので気を付ける



・Modbus-Client

serial port:自分の刺さっている所を参照
Baud rate:センサで設定したbps
Parity:Even(偶数)

来たデータ

解析(chatGPT) KM-N1マニュアル参照

電圧 V1 (10倍値): アドレス 0, 1

  • 値: 0, 1000 → 実際の値: 100V

電圧 V2 (10倍値): アドレス 2, 3

  • 値: 0, 1000 → 実際の値: 100V

電流 I1 (1000倍値): アドレス 4, 5

  • 値: 0, 1000 → 実際の値: 1A

電流 I2 (1000倍値): アドレス 6, 7

  • 値: 0, 249 → 実際の値: 0.249A

電流 I3 (1000倍値): アドレス 8, 9

  • 値: 0, 0 → 実際の値: 0A

力率 (100倍値): アドレス 10, 11

  • 値: 0, 250 → 実際の値: 2.50

力率 (100倍値): アドレス 12, 13

  • 値: 0, 100 → 実際の値: 1.0

周波数 (10倍値): アドレス 14, 15

  • 値: 0, 500 → 実際の値: 50.0Hz

有効電力 (kWの100倍値): アドレス 16, 17

  • 値: 0, 216 → 実際の値: 0.216kW

アドレス 18, 19: その他のデータ

  • 値: 0, 0 → 実際の値: 0

液晶に出ている数値とデータがある程度相違が無いのを確認したためPUSHLOGへ

PUSHLOGに格納していく

①結束線(RS485線)に繋いで行く
プラスは白/青 マイナは青に接続

前回ブログ参照

②PUSHLOGを立ち上げて行く

トリガ設定

収集トリガ設定

アドレス:16進数で書く(マニュアル参照を推奨)

小数点:物によるけれど何倍で値が取れるなどが書いているのでそれをみながら調節

前回のトリガ設定とかはバグを引き起こすので消すのが推奨

③結果
以下の様に格納されました