はじめに
今回はOMRONさんの「KM-N1-FLK」で電力クランプから取ったデータをPUSHLOGにModBus通信で取って行きます
OMRON様:https://www.omron.com/jp/ja/
PUSHLOGの操作方法や接続方法は前回の記事をご参照ください

目次
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回取って来る
・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進数で書く(マニュアル参照を推奨)
小数点:物によるけれど何倍で値が取れるなどが書いているのでそれをみながら調節
③結果
以下の様に格納されました
