記得當(dāng)時還百度來著,然鵝并沒有找到自己想要的東西,鑒于此,寫一個對初學(xué)者友好的教程。
上一篇文章提到Modbus協(xié)議包括ASCII、RTU、TCP三種,這次和大家分享的是Modbus調(diào)試助手使用TCP協(xié)議的設(shè)置。TCP協(xié)議下有Server和Client,兩個都需要設(shè)置,不然只有一個也無法通信啊~ 遙想當(dāng)年我連網(wǎng)絡(luò)調(diào)試助手也不會用的時候......
實(shí)驗(yàn)材料
Windows系統(tǒng)的電腦、Modbus Poll(Client)、ModSim32(Server)
實(shí)驗(yàn)過程
ModSim32(Server)的相關(guān)設(shè)置
① ModSim32 初始界面
②修改Address和Length,MODBUS Point Type使用默認(rèn)類型,Devide Id使用默認(rèn)值,
是1,方便使用
③點(diǎn)擊上方菜單欄【Connection】-->【Connect】-->【Modbus/TCP Svr】。確定服務(wù)器端
口,點(diǎn)擊【OK】按鈕。成功啟動后不再有 ***NOT CONNECTED!***顯示
④ 小結(jié)
通過上節(jié)的介紹,我們知道Modbus有四種寄存器類型,本次我們使用的是第三種保持 寄存器類型。
本教程主要側(cè)重Server與Client的通信搭建,其他更多的功能熟練之后容易探索。
Modbus Pol(Client)的相關(guān)設(shè)置
①M(fèi)odbus Poll初始化界面
Tx代表接收數(shù)據(jù),Err表示錯誤,F(xiàn)代表寄存器類型,SR是掃描周期
②讀寫定義的設(shè)置
點(diǎn)擊上方菜單欄的【Setup】->【Read/Write Definition...】或者F8快捷鍵直接打開
Slave ID保持一致為1,F(xiàn)unction使用默認(rèn)參數(shù),注意這里地址設(shè)置為0,與Server端地址相差1,Quantity是設(shè)置的寄存器數(shù)量,下次給大家分享pymodbus庫時會有很好的對應(yīng)說明,這里面了解下即可。Scan Rate使用默認(rèn)的即可。下方的View Rows 是對可以看見的區(qū)域設(shè)置,隨便點(diǎn)點(diǎn),沒什么大問題的。
之后點(diǎn)擊【Apply】->【OK】按鈕使設(shè)置成功。
③連接服務(wù)器的設(shè)置
點(diǎn)擊上方菜單欄的【Connection】->【Connect...】或F3快捷鍵直接打開
Connection 默認(rèn)選擇的是Modbus TCP/IP,下方是遠(yuǎn)程Modbus Server的設(shè)置,像網(wǎng)絡(luò)調(diào)試助手一樣連接服務(wù)器一樣,需要設(shè)置服務(wù)器的Ip和Port.其余參數(shù)使用默認(rèn)傳參數(shù)即可。之后點(diǎn)擊【OK】按鈕即可。
④連接成功與更改數(shù)值
連接成功如下:
更改數(shù)據(jù)操作:
鼠標(biāo)左鍵雙擊藍(lán)色單元格,會出現(xiàn)彈窗圖中的彈窗,修改Value部分單元格數(shù)值為【666】,
之后點(diǎn)擊【Send】按鈕完成修改。
修改成功后效果:
⑤小結(jié)
Modbus客戶端這邊設(shè)置相對多一些,主要是初學(xué)者剛接觸時入門有些難度,之后熟悉后就像使用網(wǎng)絡(luò)調(diào)試助手一樣。從設(shè)置上來看,Client與Server雙方在訪問的地址上必須一致,否則Client連接時會報出【無效地址】的錯誤。如下:
后記小結(jié):
至此,兩邊的配置完成,通信成功,更多的使用方法可以自己隨便點(diǎn)一點(diǎn)其他按鈕。Modbus協(xié)議屬于工業(yè)范疇,一般在工業(yè)行業(yè)使用較多。
歡迎大家關(guān)注公眾號:電子開發(fā)網(wǎng) ,獲取更多學(xué)習(xí)筆記。