昌暉儀表介紹ABB PLC之間如何通過工業以太網(Modbus TCP)進行通訊。使用兩個PLC,其中Server使用AC500-eCo V3 PLC: PM5072。 Client使用AC500 V3 PLC:PM5650。
實驗系統簡圖
1、工程電腦
安裝PLC編程軟件Automation Builder V2.5。電腦的IP設置在與Server和Client相同的網段內。在電腦中安裝Uart2Any軟件,以測試通訊。
2、服務器Server
PM5072自帶兩個以太網口??砂褍蓚€以太網口設置為交換機功能。這樣如上圖接線,電腦即可同時跟Server和Client通訊。服務器的IP設置為192.168.0.5。
3、客戶端Client
PM5650 CPU的底板自帶兩個以太網口。其中Eth1口的IP保持默認為192.168.0.1。
創建工程,添加Server和Client
項目樹下,通過添加對象,可添加對應的兩個CPU:
添加完后的項目樹如下:
為Server和Client添加相關協議:
PLC與Modbus地址之間的對應關系
測試中,以Word進行數據交互。PLC中的%MW0對應Modbus地址40000,以此類推,%MW100對應Modbus地址40100
Server編程及測試
在Server中編寫如下程序段:
添加一個起始地址為%MW0,包含5個Word的數組ServerData。并添加一段各數組元素累加的程序。
ServerData 數組的首地址為%MW0,其對應Modbus的地址為0。
可以使用測試助手與Server進行通訊,以確認Server的狀態。
Client的讀編程及對Server的讀寫
在Client中編寫如下程序,功能塊中的Addr設置為0,即對應Modbus地址0。 因此讀寫的區域對應Server中定義的數組:ServerData[0..4]。
其中第一個功能塊的功能碼為3,用于讀Server的多個寄存器,讀回的值存入數組RcvArray。
第二個功能塊的功能嗎為16,用于寫多個寄存器。把數組WriteArray中的數值寫入Server。
Modbus TCP是工業現場使用最頻繁的工業以太網協議!