Modbus RTU通信概述 Modbus 是公開的通信協(xié)議,是一種單主站的主/從通信模式。Modbus 通信標(biāo)準(zhǔn)協(xié)議可以通過各種方式傳播,如 RS232C、RS485、光纖、無線電等。Modbus基于串行傳輸時有兩種模式,ASCII和RTU,兩種模式針對數(shù)據(jù)打包、解碼方式的定義不同,支持Modbus協(xié)議的設(shè)備一般都支持 RTU 模式。西門子plc S7-200SMART CPU通過硬件自帶的RS485通信端口或擴展的通信信號板,和軟件上開發(fā)的Modbus RTU通信標(biāo)準(zhǔn)指令庫,可以幫助客戶快速便捷的實現(xiàn)設(shè)備間的Modbus RTU通信。 Modbus RTU通信標(biāo)準(zhǔn)指令庫 標(biāo)準(zhǔn)指令庫-主站:主站初始化MBUS_CTRL指令&主站讀寫MBUS_MSG指令 ● EN:使能參數(shù),必須保證每個掃描周期都能開啟(SM0.0)。 ● Mode:模式參數(shù),為1時使能Modbus協(xié)議功能。 ● Baud:波特率參數(shù),根據(jù)通訊兩側(cè)的協(xié)議和速度要求需設(shè)定為一致。 ● Parity:校驗方式參數(shù),0=無校驗,1=奇校驗,2=偶校驗。 ● Port:端口號參數(shù),0=使用集成的通訊口,1=CM01信號板。 ● Timeout:超時時間參數(shù),主站等待從站響應(yīng)的時間,以ms為單位。 ● Done:初始化完成位。 ● Error:初始化錯誤代碼(詳見系統(tǒng)手冊指令說明)。 ● EN:使能參數(shù),必須保證同一時刻只有一個讀寫功能處于使能狀態(tài)。 ● First:讀寫請求位,每一個新的讀寫請求需要用脈沖觸發(fā)。 ● Slave :從站地址參數(shù),可選擇的范圍1-247。 ● RW:讀寫參數(shù),0=讀,1=寫。 ● Addr:讀寫從站對應(yīng)連續(xù)地址區(qū)域的起始地址。 ● Count:讀寫從站對應(yīng)連續(xù)地址的個數(shù)。 ● DataPtr:讀寫操作對應(yīng)主站連續(xù)地址區(qū)域的起始地址,用于存儲準(zhǔn)備寫入的數(shù)據(jù)或要讀回的數(shù)據(jù)。 ● Done:讀寫功能完成位。 ● Error:讀寫指令錯誤代碼(詳見系統(tǒng)手冊指令說明)。 標(biāo)準(zhǔn)指令庫-從站:從站初始化MBUS_INIT指令&從站響應(yīng)請求MBUS_SLAVE指令 ● EN:調(diào)用使能位,一般使用SM0.1。 ● Mode:模式參數(shù),啟動停止Modbus,0=停止,1=啟動。 ● Addr:從站地址,Modbus從站地址,取值1-247。 ● Baud :波特率參數(shù),根據(jù)通訊兩側(cè)的協(xié)議和速度要求需設(shè)定為一致。 ● Parity:校驗方式參數(shù),0=無校驗,1=奇校驗,2=偶校驗。 ● Port:端口號參數(shù),0=使用集成的通訊口,1=CM01信號板。 ● Delay:附加字符間延時,缺省值為0。 ● MaxIQ:參與通信的zui大IO點數(shù),一般設(shè)為256。 ● MaxAI:參與通信的zui大AI通道數(shù),zui多56個。 ● MaxHold:zui大保持寄存器區(qū),參與通訊的V區(qū)大小。 ● HoldStart:保持寄存器區(qū)起始地址,以指針方式指定。 ● Done:初始化完成位。 ● Error:初始化錯誤代碼(詳見系統(tǒng)手冊指令說明)。 ● EN:調(diào)用使能位,一般使用SM0.0。 ● Done:通訊完成位。 ● Error:通訊錯誤代碼(詳見系統(tǒng)手冊指令說明)。 應(yīng)用實例 通過Modbus標(biāo)準(zhǔn)指令庫,實現(xiàn)主從站CPU之間的數(shù)據(jù)交換,其中主站IP地址為192.168.2.1,從站IP地址為192.168.2.2,主站Modbus地址為0,從站Modbus地址為1,將從站VB1000-VB1004中的數(shù)據(jù)讀取至主站VB100-VB104中,數(shù)據(jù)交換區(qū)將主站中VB200-VB204的數(shù)據(jù)寫入從站VB2000-VB2004。 主站程序: 從站程序: 執(zhí)行結(jié)果: |
|
來自: 網(wǎng)上資料_收藏 > 《PLC》