ดึงค่า POWER METER ผ่าน Modubs RTU เข้า arduino

คือผมดึงค่าจาก POWER METER ผ่าน Modubs RTU ได้ค่าแล้วแต่ได้ที่ตำแหน่งเดี่ยวแต่ผมต้องการค่าหลายตำแหน่ง เช่น Volts KW A พร้อมกัน ตัวอย่าง Code

#include <ModbusMaster.h>
#include <SoftwareSerial.h>
#define KM07_SmartMeter 1     //addressMeter 
#define _RIG_V1  256  //ตำแหน่ง address 
uint32_t result;
uint16_t data[1];

ModbusMaster node;
SoftwareSerial serial1(3, 2);  // RX | TX

void setup()
{
  Serial.begin(9600);
  serial1.begin(9600);
  node.begin(KM07_SmartMeter, serial1);
}

void loop()
{
  result = node.readHoldingRegisters(_RIG_V1, 1);
  if (result == node.ku8MBSuccess)
  {
    data[0] = node.getResponseBuffer(0);
    Serial.print("V1=");
    Serial.println((float)data[0]/10);
  }
  delay(1000);

}`

1 Like

เพิ่มเข้าไปในโต้ตหลักอีกอัน กำหนดตัวแปรให้อีกชุด

จุดสำคัญคือต้องการดึงค่าอะไรออกมาก็เปลี่ยนต่ำแหน่ง address ใหม่ ตามตารางที่เรามีครับ กรอบสีเหลืองคือ เราสามารถ เปลี่ยนได้ตามต้องการ สีม่วงคือเรากำหนดใช้อยู่

ครับเดี่ยวผมลองดูครับไงเดี่ยว แจ้งครับ

1 Like

สรุปผลหน่อยนะครับ

1 Like

ขอโทษที่มาอัพเดท ช้า นะครับ
ตามที่ทดสอบลองเขียนสามารถอ่านค่าได้ ดึงได้เป็นชุดๆๆ ครับ แต่ไม่ตรงกับงานที่ใช้เลยเปลียนเป็น RS485 To Internet และใช้ Node-red ในการอ่านค่าผ่านสาย แลนที่ยิงตรงจากหน้างานมาห้องควบคุมครับ สำหรับตัวอย่าง ตาม นี้เลย ครับ flows (3).rar (3.8 KB)

1 Like