Giao thức Modbus/RTU của đồng hồ đo ba pha dòng IAMMETER
Giao thức Modbus/RTU của đồng hồ đo ba pha dòng IAMMETER
Tất cả các đồng hồ IAMMETER, ngoại trừ WEM3050T (không có cổng RS485), đều hỗ trợ giao thức Modbus/RTU. Chi tiết giao thức như sau:
Bản đồ thanh ghi
| STT | Định nghĩa | Địa chỉ thanh ghi | Đọc | Kiểu dữ liệu và mô tả cách tính |
|---|---|---|---|---|
| 1 | Điện áp pha A | 0048H | Đọc | Không dấu, Giá trị = DATA/100, Đơn vị: V |
| 2 | Dòng điện pha A | 0049H | Đọc | Không dấu, Đơn vị: A WEM3080T: Giá trị = DATA/100 WEM3046T: Giá trị = DATA/1000 |
| 3 | Công suất tác dụng pha A | 004AH | Đọc | Không dấu, Đơn vị: W, WEM3080T: Giá trị = DATA WEM3046T: Giá trị = DATA/10 |
| 4 | Điện năng tác dụng (thuận) | 004BH 004CH | Đọc | 4 byte, Không dấu, Giá trị = DATA/800, Đơn vị: kWh |
| 5 | Hệ số công suất pha A | 004DH | Đọc | Không dấu, Giá trị = DATA/1000 |
| 6 | Điện năng tác dụng (nghịch) | 004EH 004FH | Đọc | 4 byte, Không dấu, Giá trị = DATA/800, Đơn vị: kWh |
| 7 | Chỉ báo chiều công suất | 0050H | Đọc | Byte cao 0 là thuận, 1 là nghịch |
| 8 | Điện áp pha B | 0051H | Đọc | Không dấu, Giá trị = DATA/100, Đơn vị: V |
| 9 | Dòng điện pha B | 0052H | Đọc | Không dấu, Đơn vị: A WEM3080T: Giá trị = DATA/100 WEM3046T: Giá trị = DATA/1000 |
| 10 | Công suất tác dụng pha B | 0053H | Đọc | Không dấu, Đơn vị: W, WEM3080T: Giá trị = DATA WEM3046T: Giá trị = DATA/10 |
| 11 | Điện năng tác dụng (thuận) | 0054H 0055H | Đọc | 4 byte, Không dấu, Giá trị = DATA/800, Đơn vị: kWh |
| 12 | Hệ số công suất pha B | 0056H | Đọc | Không dấu, Giá trị = DATA/1000 |
| 13 | Điện năng tác dụng (nghịch) | 0057H 0058H | Đọc | 4 byte, Không dấu, Giá trị = DATA/800, Đơn vị: kWh |
| 14 | Chỉ báo chiều công suất | 0059H | Đọc | Byte cao 0 là thuận, 1 là nghịch |
| 15 | Điện áp pha C | 005AH | Đọc | Không dấu, Giá trị = DATA/100, Đơn vị: V |
| 16 | Dòng điện pha C | 005BH | Đọc | Không dấu, Đơn vị: A WEM3080T: Giá trị = DATA/100 WEM3046T: Giá trị = DATA/1000 |
| 17 | Công suất tác dụng pha C | 005CH | Đọc | Không dấu, Đơn vị: W, WEM3080T: Giá trị = DATA WEM3046T: Giá trị = DATA/10 |
| 18 | Điện năng tác dụng (thuận) | 005DH 005EH | Đọc | 4 byte, Không dấu, Giá trị = DATA/800, Đơn vị: kWh |
| 19 | Hệ số công suất pha C | 005FH | Đọc | Không dấu, Giá trị = DATA/1000 |
| 20 | Điện năng tác dụng (nghịch) | 0060H 0061H | Đọc | 4 byte, Không dấu, Giá trị = DATA/800, Đơn vị: kWh |
| 21 | Chỉ báo chiều công suất | 0062H | Đọc | Byte cao 0 là thuận, 1 là nghịch |
| 23 | Tổng điện năng tác dụng (thuận) | 0063H 0064H | Đọc | 4 byte, Không dấu, Giá trị = DATA/800, Đơn vị: kWh |
| 24 | Tần số | 0065H | Đọc | Không dấu, Giá trị = DATA/100, Đơn vị: Hz |
| 25 | Tổng điện năng tác dụng (nghịch) | 0066H 0067H | Đọc | Không dấu, Giá trị = DATA/800, Đơn vị: kWh |
| 26 | Điện năng tác dụng pha A (thuận) | 0068H 0069H | Đọc | Không dấu, Giá trị = DATA/1000, Đơn vị: kWh |
| 27 | Điện năng tác dụng pha A (nghịch) | 006AH 006BH | Đọc | Không dấu, Giá trị = DATA/1000, Đơn vị: kWh |
| 28 | Điện năng tác dụng pha B (thuận) | 006CH 006DH | Đọc | Không dấu, Giá trị = DATA/1000, Đơn vị: kWh |
| 29 | Điện năng tác dụng pha B (nghịch) | 006EH 006FH | Đọc | Không dấu, Giá trị = DATA/1000, Đơn vị: kWh |
| 30 | Điện năng tác dụng pha C (thuận) | 0070H 0071H | Đọc | Không dấu, Giá trị = DATA/1000, Đơn vị: kWh |
| 31 | Điện năng tác dụng pha C (nghịch) | 0072H 0073H | Đọc | Không dấu, Giá trị = DATA/1000, Đơn vị: kWh |
| 32 | Tổng điện năng tác dụng (thuận) | 0074H 0075H | Đọc | Không dấu, Giá trị = DATA/1000, Đơn vị: kWh |
| 33 | Tổng điện năng tác dụng (nghịch) | 0076H 0077H | Đọc | Không dấu, Giá trị = DATA/1000, Đơn vị: kWh |
| 34 | Tổng công suất | 0078H 0079H | Đọc | Có dấu, Đơn vị: W, WEM3080T: Giá trị = DATA WEM3046T: Giá trị = DATA/10 |
| 35 | Công suất tác dụng pha A | 007AH 007BH | Đọc | Có dấu, Đơn vị: W, WEM3080T: Giá trị = DATA WEM3046T: Giá trị = DATA/10 |
| 36 | Công suất tác dụng pha B | 007CH 007DH | Đọc | Có dấu, Đơn vị: W, WEM3080T: Giá trị = DATA WEM3046T: Giá trị = DATA/10 |
| 37 | Công suất tác dụng pha C | 007EH 007FH | Đọc | Có dấu, Đơn vị: W, WEM3080T: Giá trị = DATA WEM3046T: Giá trị = DATA/10 |
| 38 | Công suất phản kháng pha A | 0080H 0081H | Đọc | Có dấu, Giá trị = DATA, Đơn vị: var |
| 39 | Công suất phản kháng pha B | 0082H 0083H | Đọc | Có dấu, Giá trị = DATA, Đơn vị: var |
| 40 | Công suất phản kháng pha C | 0084H 0085H | Đọc | Có dấu, Giá trị = DATA, Đơn vị: var |
| 41 | Điện năng phản kháng thuận (cảm) pha A | 0086H 0087H | Đọc | Không dấu, Giá trị = DATA/1000, Đơn vị: kvarh |
| 42 | Điện năng phản kháng nghịch (dung) pha A | 0088H 0089H | Đọc | Không dấu, Giá trị = DATA/1000, Đơn vị: kvarh |
| 43 | Điện năng phản kháng thuận (cảm) pha B | 008AH 008BH | Đọc | Không dấu, Giá trị = DATA/1000, Đơn vị: kvarh |
| 44 | Điện năng phản kháng nghịch (dung) pha B | 008CH 008DH | Đọc | Không dấu, Giá trị = DATA/1000, Đơn vị: kvarh |
| 45 | Điện năng phản kháng thuận (cảm) pha C | 008EH 008FH | Đọc | Không dấu, Giá trị = DATA/1000, Đơn vị: kvarh |
| 46 | Điện năng phản kháng nghịch (dung) pha C | 0090H 0091H | Đọc | Không dấu, Giá trị = DATA/1000, Đơn vị: kvarh |
Ghi chú:
- Giao thức này áp dụng cho tất cả các đồng hồ IAMMETER ngoại trừ WEM3050T. Với đồng hồ một pha, hãy dùng dữ liệu của pha A trong bảng.
- Về các thanh ghi chỉ báo chiều công suất (7, 14, 21): Ở các phiên bản trước, công suất là không dấu (thanh ghi 3, 10, 17), nên cần thêm các thanh ghi để lưu chiều công suất. Nếu bạn dùng các thanh ghi công suất có dấu (35, 36, 37), bạn không cần xét riêng giá trị trong các thanh ghi chỉ báo chiều công suất.
Ví dụ sử dụng
Đọc giá trị
Ví dụ: Nếu master muốn đọc dữ liệu từ 2 thanh ghi slave có địa chỉ 01 bắt đầu từ 0048H,
Master gửi: 01 03 00 48 00 02 CRC
- Địa chỉ: 01
- Mã chức năng: 03
- Địa chỉ bắt đầu: 00 48
- Độ dài dữ liệu: 00 02
- Mã CRC: CRC
Phản hồi của slave: 01 03 04 12 45 56 68 CRC
- Địa chỉ: 01
- Mã chức năng: 03
- Số byte trả về: 04
- Dữ liệu thanh ghi 1: 12 45
- Dữ liệu thanh ghi 2:
56 68
- Mã CRC: CRC
Đặt lại giá trị kWh
Các lệnh Modbus/RTU cũng cung cấp hướng dẫn đặt lại giá trị kWh — đây là cách duy nhất để đặt lại giá trị kWh trên đồng hồ IAMMETER.
01 10 00 0C 00 02 04 00 00 00 00 F3 FA(đặt lại cả kWh thuận và nghịch trên 3080)01 10 00 63 00 02 04 00 00 00 00 B5 92(đặt lại kWh thuận trên 3080T)01 10 00 66 00 02 04 00 00 00 00 75 AD(đặt lại kWh nghịch trên 3080T)
Đặt/Đọc ID Slave
ID slave mặc định của đồng hồ IAMMETER là 1.
ID slave 0x00 có thể được dùng làm địa chỉ quảng bá (module WiFi cũng dùng 0x00 để giao tiếp với module đo lường).
Nếu bạn cần đặt ID slave khác (ví dụ để dùng trong hệ thống PLC), bạn có thể tham khảo các lệnh sau:
Đọc ID Slave
Lệnh: 00 03 00 04 00 01 C4 1A (00: địa chỉ quảng bá)
Phản hồi: 01 03 02 01 06 39 D6 (01: ID slave, 06: Tốc độ Baud 9600)
Đặt ID Slave
Lệnh: 00 10 00 04 00 01 02 05 06 29 16 00
00: Địa chỉ quảng bá10: Cố định (lệnh đặt)00 04: Cố định (địa chỉ bắt đầu)00 01: Cố định (độ dài thanh ghi)02: Cố định (độ dài byte)05: Địa chỉ mới06: Cố định29 16: CRC16
Phản hồi: 01 10 00 04 00 01 40 08
Phương pháp khuyến nghị
Mặc dù chúng tôi đã liệt kê giao thức Modbus/RTU, chúng tôi không khuyến nghị dùng Modbus/RTU để lấy dữ liệu từ đồng hồ vì những lý do sau:
- Cần đi dây RS485 phức tạp.
- Không tận dụng được ưu thế của việc truyền dữ liệu qua Wi-Fi.
So với Modbus/RTU truyền thống, chúng tôi khuyến nghị dùng chế độ Modbus/TCP hoặc REST API để lấy dữ liệu trực tiếp qua mạng Wi-Fi.
Modbus/TCP
Hướng dẫn Modbus/TCP cho các sản phẩm IAMMETER
Modbus TCP là giao thức phổ biến được dùng trong các hệ thống công nghiệp như ICS, DCS, SCADA. Sau bản cập nhật firmware mới nhất, đồng hồ năng lượng IAMMETER hiện đã hỗ trợ giao thức Modbus TCP.


REST API: /api/monitorjson
Các sản phẩm IAMMETER cũng cung cấp giao diện REST API. Bạn có thể truy cập trực tiếp địa chỉ API bằng một yêu cầu HTTP GET đơn giản để lấy toàn bộ dữ liệu đo theo thời gian thực (cập nhật mỗi giây). Xem chi tiết tại liên kết sau:
/newsshow/blog-fw-features#apimonitorjson-return-the-measurement-result

Định nghĩa dữ liệu JSON như sau:
Định nghĩa dữ liệu JSON của sản phẩm IAMMETER
Tài liệu tham khảo
Cách sử dụng WEM3050T không cần IAMMETER-cloud