---
# System prepended metadata

title: Modbus hands-on
tags: [MOXA]

---

# Modbus hands-on
```
required H/W: DUT, NPort
required S/W: Modbus Poll, Modbus Slave, UaExper, Postman
```

1. 找小白授權Modbus Poll and Slave
2. 登入[postman](https://wiki.moxa.com/display/RDSQA/IIOT+Gateway+Hands-on)
3. 打開DUT的頁面(本篇為[AIG-301](https://10.123.21.112:8443/login))
4. 進入TPE
點選modbus master 要去建立新Master
![](https://hackmd.io/_uploads/HksR8H5bp.png)
![](https://hackmd.io/_uploads/SymbDH9WT.png)
加上自己的device(這邊我device是給自己的NB)
![](https://hackmd.io/_uploads/Bk2fDB9W6.png)
這樣就會出現
![](https://hackmd.io/_uploads/HkVSwHq-T.png)
再來去 tag management 把Annie都選起來
![](https://hackmd.io/_uploads/rkCvwrc-p.png)
就可以監控這些tag

5. 打開你的modbus slave
點選connect slave id記得要對應
![](https://hackmd.io/_uploads/S1elJdBq-a.png)
![](https://hackmd.io/_uploads/BJp1ur9-p.png)
![](https://hackmd.io/_uploads/B1HbOHc-6.png)

6. postman查看api動作
像這樣就可以看到剛剛新加的tags
![](https://hackmd.io/_uploads/SJudcBqWa.png)






---
實際hands-on應該要設?
![](https://hackmd.io/_uploads/HyWEbL5-a.png)


嘗試使用serial port發現失敗??
發現slave已成功
但poll仍無法使用 > 因為301本身是沒有modbus slave功能 
![](https://hackmd.io/_uploads/Hk5hiL9-a.png)

重新connect仍然發現modbus-serial tag未匯入 > 問題同上
![](https://hackmd.io/_uploads/ryXHG8qWT.png)

因連不上modbus slave，所以未更新 > 問題同上
![](https://hackmd.io/_uploads/Syp0X89ba.png)

AIG-301 com1 已連上NPort P8(COM18) > 選錯Interface才沒接上
![](https://hackmd.io/_uploads/SJVmnUq-6.jpg)



```
Q: 一個Register是兩個bytes 那float本身是四個bytes 他會用怎麼樣方式儲存
A: https://www.thepyroscope.com/blog/modbus-comms-how-to-set-floating-point-values/
```

```
Q: 為啥他們之間是存3.5 character time start??
A: 
```


```
Q: function code define: read可以寫多值 但write是分開的(可寫單一/多)
A: 
```
```
Q: function code: restart?之類的查一下
A: 
```
