回覆列表
-
1 # 劍指工控
-
2 # 使用者80707908031
modbus 是典型的一主多從。使用串列埠線,在同一時刻,只能有一個一個裝置在發信息。其它協議,之所以實現多主站,是採用令牌的形式,得令牌著,就是主站。通訊起來相當複雜。
如果需要實現多主站,建議先轉換成網口,在通訊。讓第三方裝置,來調整modbus帶來的衝突。
目前臺達DX2100/DX2300可以一定程度上滿足這種應用。
首先說一下modbus協議,主要分為三種:
1. 針對串列埠有:Modbus RTU, Modbus ASCII,常用串列埠有RS232/RS422/RS485
2. 針對網口有:Modbus TCP,常用網口為:RJ45
3. Modicon專用的 Modbus Plus
Modbus RTU和Modbus ASCII使用非同步序列傳輸,而 Modbus TCP是基於TCP/IP協議。
Modbus 是半雙工通訊,採用主從通訊方式,同一時刻只能有一個主站存在。所以題主提到的兩個主站和多個從站通訊是可以實現。我們如果使用 Modbus RTU通訊的話,可以使用繼電器切換不同的從站。當然也可以有其他方法。
Modbus Plus 是一種高速令牌網路,令牌可以在各個站點之間快速傳遞,誰拿到令牌,誰就是主站。所以它也就解決了多主站多從站的問題。但是因為這個是Modicon的專用協議,並不是開放的,對於開放的Modbus協議還是不能實現的。
一般情況下我們常用的Modbus通訊是Modbus RTU和Modbus TCP,Modbus RTU需要使用輪詢方式進行讀寫操作。而Modbus TCP 是採用客戶端/伺服器模式,允許在網路上有多個客戶端。
所以鑑於題主的要求,我們最簡單的辦法就是將Modbus RTU協議 轉為Modbus TCP協議。那麼如何轉化呢?很多廠家都有對應的協議轉換閘道器裝置,都可以實現此功能。比如常用的MOXA。
如 MOXA 的 MB3170,它可以整合Modbus TCP,ASCII和RTU裝置甚至是多master與slave的混合網路,包括串列埠master到串列埠slave,或者是同時到乙太網master。
透過此閘道器裝置可以多個主裝置同時訪問從裝置。因我們使用的TCP/IP協議,所以對應的是多個客戶端同時訪問多個伺服器的模式。