การผสานรวมมิเตอร์พลังงาน Modbus TCP: รีจิสเตอร์และการทดสอบ
การผสานรวมมิเตอร์พลังงาน Modbus TCP สำหรับการตรวจสอบในเครื่อง
Modbus TCP ช่วยให้แอปพลิเคชันในเครื่องสามารถอ่านค่าการวัดทางไฟฟ้าได้โดยตรงจากมิเตอร์พลังงาน Wi-Fi ของ IAMMETER
เหมาะสำหรับ:
- ระบบ PLC และ SCADA;
- Home Assistant และ Node-RED;
- ระบบจัดการพลังงาน (EMS) ในเครื่อง;
- ระบบจัดการอาคาร (BMS);
- การตรวจสอบและระบบอัตโนมัติแบบหนึ่งวินาที;
- แอปพลิเคชันที่ต้องทำงานโดยไม่ต้องใช้ IAMMETER-Cloud
IAMMETER energy meter
│
│ Wi-Fi / LAN
│ Modbus TCP
▼
Home Assistant, Node-RED, PLC, SCADA or custom EMS
ไคลเอนต์เป็นผู้เริ่มต้นคำขอแต่ละครั้ง มิเตอร์จะส่งค่าจากรีจิสเตอร์สำหรับแรงดันไฟฟ้า กระแสไฟฟ้า กำลังไฟฟ้าแอคทีฟ พลังงานที่นำเข้า พลังงานที่ส่งออก ตัวประกอบกำลัง ความถี่ และค่าการวัดอื่นๆ ที่รองรับ
Modbus TCP เป็น อินเทอร์เฟซแบบสอบถามในเครื่อง (local polling interface) หากมิเตอร์ควรเผยแพร่ข้อมูลไปยัง broker ให้ใช้ MQTT หากควรอัปโหลดข้อมูลไปยังเซิร์ฟเวอร์ของลูกค้า ดูที่ รับข้อมูล IAMMETER บนเซิร์ฟเวอร์ของคุณเอง
1. ทำไมต้องใช้ Modbus TCP?
เมื่อเปรียบเทียบกับการสอบถามผ่านคลาวด์หรือการอัปโหลดข้อมูลตามช่วงเวลา Modbus TCP มีข้อดี:
- การเข้าถึงโดยตรงผ่านเครือข่ายในเครื่อง;
- ไม่ต้องพึ่งพา IAMMETER-Cloud สำหรับเส้นทางข้อมูล;
- อินเทอร์เฟซมาตรฐานที่ใช้รีจิสเตอร์;
- การสอบถามหนึ่งวินาทีสำหรับแอปพลิเคชันที่รองรับ;
- ค่ากำลังไฟฟ้าแอคทีฟแบบมีเครื่องหมายสำหรับการตรวจสอบพลังงานแบบสองทิศทาง;
- ความเข้ากันได้กับเครื่องมืออัตโนมัติและอุตสาหกรรมทั่วไป
การใช้งานทั่วไปได้แก่:
- การควบคุมโหลดจากกำลังไฟฟ้าจากกริดแบบเรียลไทม์;
- การอ่านค่าผลผลิตโซลาร์ การแลกเปลี่ยนกับกริด หรือโหลดในวงจรในเครื่อง;
- การเพิ่มมิเตอร์พลังงานใน Home Assistant;
- การรวบรวมค่าการวัดใน Node-RED;
- การผสานรวมข้อมูลไฟฟ้าเข้ากับ PLC, SCADA, EMS หรือ BMS
2. มิเตอร์ IAMMETER ที่รองรับ
มิเตอร์พลังงาน IAMMETER รุ่นปัจจุบันรองรับโหมด Home Assistant และการผสานรวมแบบโอเพนซอร์สที่มีให้ รวมถึง Modbus TCP รุ่นที่เลิกผลิตแล้ว WEM3162 ไม่ได้รวมอยู่ในคู่มือนี้
ความแตกต่างหลักระหว่างรุ่นคือจำนวนและวัตถุประสงค์ของช่องสัญญาณการวัด:
- มิเตอร์ช่องสัญญาณเดียวใช้บล็อกรีจิสเตอร์เฟส A;
- มิเตอร์สองช่องสัญญาณหรือสปลิตเฟสใช้บล็อกช่องสัญญาณที่เกี่ยวข้อง;
- มิเตอร์สามเฟสใช้บล็อกเฟส A, B และ C;
- มิเตอร์ที่รองรับอาจมีค่ารวมและค่าการวัดรีแอคทีฟเพิ่มเติม
ควรตรวจสอบค่าที่อ่านได้จากรีจิสเตอร์กับรุ่นและเฟิร์มแวร์ที่ใช้ในโครงการจริงเสมอ
WEM3046T และ WEM3046TE
WEM3046T และ WEM3046TE วัดเอาต์พุตทุติยภูมิ 5 A ของหม้อแปลงกระแสไฟฟ้าภายนอก
ดังนั้นค่ากระแสไฟฟ้า กำลังไฟฟ้า และพลังงานในฝั่งปฐมภูมิต้องใช้อัตราส่วน CT ภายนอกที่เหมาะสม ข้อกำหนดในการปรับสเกลนี้เกิดจากการออกแบบอินพุต CT 5 A ของมิเตอร์ ไม่ใช่พฤติกรรมเฉพาะของ Modbus TCP หรือแพลตฟอร์ม
ควรจัดทำเอกสารและทดสอบการประมวลผลอัตราส่วน CT ทุกครั้งที่มีการผสานรวมรุ่นเหล่านี้
3. พารามิเตอร์การเชื่อมต่อ
ตัวอย่าง Modbus Poll อย่างเป็นทางการของ IAMMETER ใช้:
| พารามิเตอร์ | ค่าตัวอย่าง |
|---|---|
| การเชื่อมต่อ | Modbus TCP/IP |
| โฮสต์ | ที่อยู่ IP ในเครื่องของมิเตอร์ |
| พอร์ต TCP | 502 |
| Device / Unit ID | 1 |
| Function code | 03 — Read Holding Registers |
| หมดเวลาการตอบสนอง | 1000 ms ในตัวอย่าง |

ใช้ที่อยู่ IP LAN ของมิเตอร์เป็นโฮสต์ การสงวนที่อยู่ในเราเตอร์สามารถป้องกันการผสานรวมที่เสียหายหลังจากการเปลี่ยนที่อยู่ DHCP
ค่าข้างต้นเป็นพารามิเตอร์ที่แสดงในตัวอย่างอย่างเป็นทางการ ควรยืนยันเฟิร์มแวร์และการกำหนดค่าไซต์จริงก่อนนำไปใช้งานในซอฟต์แวร์การผลิต
4. การทดสอบด่วนด้วย Modbus Poll
เพื่อยืนยันการเชื่อมต่อก่อนกำหนดค่าแพลตฟอร์มแบบสมบูรณ์:
- เชื่อมต่อคอมพิวเตอร์และมิเตอร์ IAMMETER เข้ากับ LAN เดียวกัน;
- ค้นหาที่อยู่ IP ในเครื่องของมิเตอร์;
- สร้างการเชื่อมต่อ Modbus TCP/IP ไปยังพอร์ต
502; - ตั้งค่า Device ID เป็น
1; - เลือก Function Code
03; - ขอ holding registers เริ่มต้นที่ที่อยู่
0; - เปรียบเทียบค่าดิบที่ได้รับกับกฎการปรับสเกลด้านล่าง

ภาพหน้าจอใช้อัตราการสแกนหน้าจอ 500 ms สำหรับการทดสอบ สำหรับการใช้งานปกติ เอกสารของ IAMMETER แนะนำให้สอบถามหนึ่งวินาทีแทนที่จะใช้การตั้งค่าอัตราที่เร็วที่สุดของไคลเอนต์เป็นช่วงเวลาการผลิตที่รองรับ
หากการเชื่อมต่อล้มเหลว ให้ตรวจสอบ:
- ว่ามิเตอร์และไคลเอนต์อยู่ในเครือข่ายที่สามารถเข้าถึงถึงกันได้;
- ที่อยู่ IP ของมิเตอร์;
- พอร์ต TCP 502 และกฎไฟร์วอลล์;
- Device ID และ function code;
- ว่าแอปพลิเคชันอื่นกำลังควบคุมขั้นตอนการสอบถามที่ต้องการอยู่แล้วหรือไม่;
- เวอร์ชันเฟิร์มแวร์ของมิเตอร์
5. ชนิดข้อมูลของรีจิสเตอร์และการปรับสเกล
IAMMETER ใช้ holding registers ขนาด 16 บิต
ค่า 16 บิต
แรงดันไฟฟ้า กระแสไฟฟ้า ตัวประกอบกำลัง และความถี่ใช้หนึ่งรีจิสเตอร์:
| ค่าการวัด | ชนิดดิบ | การแปลง |
|---|---|---|
| แรงดันไฟฟ้า | Unsigned 16-bit | V = raw / 100 |
| กระแสไฟฟ้า | Unsigned 16-bit | A = raw / 100 |
| ตัวประกอบกำลัง | Unsigned 16-bit | PF = raw / 1000 |
| ความถี่ | Unsigned 16-bit | Hz = raw / 100 |
ค่า 32 บิต
กำลังไฟฟ้าแอคทีฟ พลังงานสะสม และค่ารีแอคทีฟใช้สองรีจิสเตอร์ที่ต่อเนื่องกัน
ตัวอย่าง Modbus Poll อย่างเป็นทางการแสดงคำที่มีลำดับสูง 16 บิตก่อน รวมคำดังนี้:
raw32 = (register[n] << 16) | register[n + 1]
ตีความกำลังไฟฟ้าแอคทีฟและรีแอคทีฟเป็น signed 32-bit ตีความตัวนับพัลส์พลังงานสะสมเป็น unsigned 32-bit
| ค่าการวัด | ชนิดดิบ | การแปลง |
|---|---|---|
| กำลังไฟฟ้าแอคทีฟ | Signed 32-bit | W = raw32 |
| พลังงานนำเข้า/ไปข้างหน้า | Unsigned 32-bit | kWh = raw32 / 800 |
| พลังงานส่งออก/ย้อนกลับ | Unsigned 32-bit | kWh = raw32 / 800 |
| กำลังไฟฟ้ารีแอคทีฟ | Signed 32-bit | var = raw32 |
| พลังงานรีแอคทีฟแบบเหนี่ยวนำ/คาปาซิทีฟ | Unsigned 32-bit | kvarh = raw32 / 1000 |
กำลังไฟฟ้าแอคทีฟแบบมีเครื่องหมายช่วยให้การผสานรวมสามารถแยกแยะทิศทางกำลังไฟฟ้าที่แตกต่างกันได้ ควรยืนยันแบบแผนเครื่องหมายกับการวางแนว CT และการเดินสายของแอปพลิเคชันระหว่างการติดตั้ง
6. ผังรีจิสเตอร์ Modbus หลัก
ที่อยู่รีจิสเตอร์ด้านล่างเป็น offset ทศนิยม ไคลเอนต์ควรใช้ Function Code 03
เฟส A
| ที่อยู่ | ความยาว | ค่าการวัด | การแปลง |
|---|---|---|---|
| 0 | 1 | แรงดันไฟฟ้า | Unsigned, /100 V |
| 1 | 1 | กระแสไฟฟ้า | Unsigned, /100 A |
| 2 | 2 | กำลังไฟฟ้าแอคทีฟ | Signed, W |
| 4 | 2 | พลังงานนำเข้า/ไปข้างหน้า | Unsigned, /800 kWh |
| 6 | 2 | พลังงานส่งออก/ย้อนกลับ | Unsigned, /800 kWh |
| 8 | 1 | ตัวประกอบกำลัง | Unsigned, /1000 |
| 9 | 1 | ตัวระบุรุ่นในผังรุ่นเก่า | ห้ามใช้เป็นข้อมูลรุ่นปัจจุบันเพียงอย่างเดียว |
เฟส B
| ที่อยู่ | ความยาว | ค่าการวัด | การแปลง |
|---|---|---|---|
| 10 | 1 | แรงดันไฟฟ้า | Unsigned, /100 V |
| 11 | 1 | กระแสไฟฟ้า | Unsigned, /100 A |
| 12 | 2 | กำลังไฟฟ้าแอคทีฟ | Signed, W |
| 14 | 2 | พลังงานนำเข้า/ไปข้างหน้า | Unsigned, /800 kWh |
| 16 | 2 | พลังงานส่งออก/ย้อนกลับ | Unsigned, /800 kWh |
| 18 | 1 | ตัวประกอบกำลัง | Unsigned, /1000 |
| 19 | 1 | สงวนไว้ | ไม่ได้ใช้ |
เฟส C
| ที่อยู่ | ความยาว | ค่าการวัด | การแปลง |
|---|---|---|---|
| 20 | 1 | แรงดันไฟฟ้า | Unsigned, /100 V |
| 21 | 1 | กระแสไฟฟ้า | Unsigned, /100 A |
| 22 | 2 | กำลังไฟฟ้าแอคทีฟ | Signed, W |
| 24 | 2 | พลังงานนำเข้า/ไปข้างหน้า | Unsigned, /800 kWh |
| 26 | 2 | พลังงานส่งออก/ย้อนกลับ | Unsigned, /800 kWh |
| 28 | 1 | ตัวประกอบกำลัง | Unsigned, /1000 |
| 29 | 1 | สงวนไว้ | ไม่ได้ใช้ |
ความถี่และค่ารวม
| ที่อยู่ | ความยาว | ค่าการวัด | การแปลง |
|---|---|---|---|
| 30 | 1 | ความถี่ | Unsigned, /100 Hz |
| 31 | 1 | สงวนไว้ | ไม่ได้ใช้ |
| 32 | 2 | กำลังไฟฟ้าแอคทีฟรวม | Signed, W |
| 34 | 2 | พลังงานนำเข้า/ไปข้างหน้ารวม | Unsigned, /800 kWh |
| 36 | 2 | พลังงานส่งออก/ย้อนกลับรวม | Unsigned, /800 kWh |
รีจิสเตอร์ค่ารวมมีความเกี่ยวข้องมากที่สุดกับมิเตอร์หลายช่องสัญญาณ สำหรับการผสานรวมช่องสัญญาณเดียว ให้ใช้ค่าเฟส A ที่เกี่ยวข้องและตรวจสอบค่ารวมที่ได้รับ
7. รีจิสเตอร์รีแอคทีฟเพิ่มเติม
รีจิสเตอร์รีแอคทีฟจะพร้อมใช้งานก็ต่อเมื่อการวัดค่ารีแอคทีฟได้รับการสนับสนุนและเปิดใช้งานโดยมิเตอร์และเฟิร์มแวร์ที่เกี่ยวข้อง
| ที่อยู่ | ความยาว | ค่าการวัด | การแปลง |
|---|---|---|---|
| 38 | 2 | กำลังไฟฟ้ารีแอคทีฟเฟส A | Signed, var |
| 40 | 2 | พลังงานรีแอคทีฟแบบเหนี่ยวนำเฟส A | Unsigned, /1000 kvarh |
| 42 | 2 | พลังงานรีแอคทีฟแบบคาปาซิทีฟเฟส A | Unsigned, /1000 kvarh |
| 44 | 2 | กำลังไฟฟ้ารีแอคทีฟเฟส B | Signed, var |
| 46 | 2 | พลังงานรีแอคทีฟแบบเหนี่ยวนำเฟส B | Unsigned, /1000 kvarh |
| 48 | 2 | พลังงานรีแอคทีฟแบบคาปาซิทีฟเฟส B | Unsigned, /1000 kvarh |
| 50 | 2 | กำลังไฟฟ้ารีแอคทีฟเฟส C | Signed, var |
| 52 | 2 | พลังงานรีแอคทีฟแบบเหนี่ยวนำเฟส C | Unsigned, /1000 kvarh |
| 54 | 2 | พลังงานรีแอคทีฟแบบคาปาซิทีฟเฟส C | Unsigned, /1000 kvarh |
ไม่ควรสันนิษฐานว่าค่าเหล่านี้ทำงานอยู่ในการติดตั้งทุกครั้ง ควรยืนยันรุ่น เฟิร์มแวร์ และการตั้งค่าการวัดรีแอคทีฟ
8. รีจิสเตอร์ข้อมูลอุปกรณ์
| ที่อยู่ | ความยาว | คำอธิบาย |
|---|---|---|
| 56 | 8 | หมายเลขซีเรียลของอุปกรณ์ |
| 64 | 1 | เวลาทำงานเป็นวินาที |
ปฏิบัติต่อหมายเลขซีเรียลและตัวระบุอุปกรณ์อื่นๆ เป็นข้อมูลปฏิบัติการ หลีกเลี่ยงการเผยแพร่ค่าที่ยังไม่ได้ทำความสะอาดในภาพหน้าจอ ไฟล์บันทึก หรือตัวอย่างสาธารณะ
9. ตัวอย่างการผสานรวม
Home Assistant
Modbus TCP เป็นตัวเลือกของ IAMMETER สำหรับ Home Assistant สำหรับผู้ใช้ที่ต้องการการอ่านค่าในเครื่องที่รวดเร็วและระบบอัตโนมัติ
ใช้ คู่มือการผสานรวม IAMMETER Home Assistant เป็นจุดเริ่มต้นหลักสำหรับ HA โดยแยกการกำหนดค่าฝั่งมิเตอร์ออกจากการกำหนดค่า Home Assistant และเชื่อมโยงไปยังวิธีการใช้งาน Modbus ในปัจจุบัน
วิดีโอ:
Node-RED
Node-RED สามารถสอบถาม holding registers, ปรับค่าดิบให้เป็นมาตรฐาน และส่งต่อค่าการวัดไปยังโฟลว์อัตโนมัติ ฐานข้อมูล หรือแดชบอร์ด
PLC, SCADA, EMS และ BMS
สำหรับการผสานรวมทางอุตสาหกรรมหรือเชิงพาณิชย์:
- จัดทำเอกสารเวอร์ชันผังรีจิสเตอร์ที่ใช้;
- ใช้การแปลง signed/unsigned ที่ถูกต้อง;
- ตรวจสอบลำดับไบต์และลำดับคำ;
- ยืนยันการวางแนว CT และอัตราส่วน CT;
- กำหนดพฤติกรรมหมดเวลาและการลองใหม่;
- ตรวจสอบการสอบถามที่สำเร็จครั้งล่าสุด;
- หลีกเลี่ยงอัตราการสอบถามที่ไม่รองรับ;
- ทดสอบการขัดจังหวะเครือข่ายและการกู้คืน
ซอฟต์แวร์ที่กำหนดเอง
ไคลเอนต์ Modbus TCP ที่กำหนดเองควรแยก:
- ตรรกะการเชื่อมต่อและการลองใหม่;
- การอ่านรีจิสเตอร์;
- การถอดรหัส 16 บิตและ 32 บิต;
- การแมปรุ่นมิเตอร์และช่องสัญญาณ;
- การปรับค่าอัตราส่วน CT เมื่อจำเป็น;
- การจัดเก็บและตรรกะแอปพลิเคชัน
10. Modbus TCP หรืออินเทอร์เฟซ IAMMETER อื่น?
| ข้อกำหนด | อินเทอร์เฟซที่แนะนำ |
|---|---|
| การสอบถามในเครื่องหนึ่งวินาที | Modbus TCP |
| การรับข้อมูล JSON อย่างง่ายผ่าน LAN | Local HTTP API |
| การเผยแพร่ข้อมูลไปยังผู้ใช้หลายราย | MQTT |
| มิเตอร์อัปโหลดไปยังเว็บเซอร์วิสของลูกค้า | HTTP/HTTPS |
| มิเตอร์อัปโหลดไปยังเซิร์ฟเวอร์ซ็อกเก็ตที่กำหนดเอง | TCP/TLS |
| การเปรียบเทียบแพลตฟอร์มพร้อมใช้งาน | คู่มือการผสานรวมโอเพนซอร์ส |
คู่มือที่เกี่ยวข้อง:
- IAMMETER Local APIs and Open Interfaces
- Open-Source Energy Monitoring Platforms
- พัฒนาระบบตรวจสอบพลังงานของคุณเอง
- ใช้ IAMMETER โดยไม่ต้องใช้อินเทอร์เน็ตหรือคลาวด์
11. เฟิร์มแวร์
Modbus TCP ไม่ใช่การอัปเกรดทดลองที่อธิบายโดยกระบวนการเผยแพร่ปี 2022 ดั้งเดิมอีกต่อไป สำหรับการติดตั้งปัจจุบัน ให้ใช้เฟิร์มแวร์ล่าสุดที่มีให้สำหรับรุ่นมิเตอร์:
บันทึกเวอร์ชันเฟิร์มแวร์ที่ใช้เพื่อตรวจสอบผังรีจิสเตอร์และพฤติกรรมการสอบถาม
12. ข้อมูลการเผยแพร่รุ่นเก่า
บทความนี้เผยแพร่ครั้งแรกเมื่อมีการเพิ่มการรองรับ Modbus TCP ผ่านการอัปเกรดเฟิร์มแวร์
คำแนะนำเก่าอ้างถึงเฟิร์มแวร์ 75.68 เป็นข้อกำหนดเบื้องต้นสำหรับการอัปเกรด และขอให้ผู้ใช้ขออัปเกรดผ่านระบบข้อเสนอแนะ กระบวนการดังกล่าวถูกเก็บไว้ที่นี่เป็นเพียงบริบททางประวัติศาสตร์ และไม่ควรใช้สำหรับการติดตั้งใหม่
แหล่งข้อมูลการเผยแพร่รุ่นเก่า:
อัปเดตล่าสุด: 16 กรกฎาคม 2026