# 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: ```