---
# System prepended metadata

title: 台達電錶資料內容解析請益

---

1. 我們的通訊格式是 Modbus RTU 嗎?
![image](https://hackmd.io/_uploads/Bkt9JIMuA.png)

2. 所以我們實際收到的資料會有 Modbus Master 的 Requests 以及 Modbus Slave 的 Responses 嗎？還是只會有 Modbus Slave 的 Responses？
![image](https://hackmd.io/_uploads/B1AWl8fuC.png)

3. 怎樣斷定收到的資料內容是 Modbus Master Request／Modbus Slave Response，（譬如是根據資料長度，又或者第三個 byte 是否為 0x0）
![image](https://hackmd.io/_uploads/S1bqlUzu0.png)

4. 假設收到這樣的一個 Modbus Slave Response，這邊的 03 E8 我應該用什麼資料型態解析它？是半精度浮點數嗎？有什麼 endian 要注意？
![image](https://hackmd.io/_uploads/By4lM8zOA.png)

> 如果用的是 js，用這邊提到的解析方法可以嗎？ https://stackoverflow.com/questions/5678432/decompressing-half-precision-floats-in-javascript
> https://replit.com/@elvishuang7/rules
> 從 0x03E8 得到的 0.000059604644775390625 是預期的結果嗎？

5. 我們想要拿到電流的峰谷值，應該怎麼解析這邊的資料？
```json
["01", "03", "01", "e1", "30"]
["01", "03", "02", "03", "e8", "b8", "fa"]
["01", "83", "03", "01", "31"]
```