一. 系統(tǒng)設(shè)計
在某工廠的自動控制項目中,需要將相隔 3公里的兩臺西門子 S7-300控制系統(tǒng)設(shè)備實現(xiàn)數(shù)據(jù)交換。由于兩設(shè)備相距甚遠,而且間隔山脈,采用以太網(wǎng)光纖傳輸并不現(xiàn)實,鑒于BANNER公司優(yōu)秀的超遠距離無線傳感產(chǎn)品,設(shè)計采用其surecross系列中的DataRadio無線電臺DX80DR2M。同時,由于兩臺S7-300控制系統(tǒng)均為帶有Profibus-DP主站接口的CPU315-2PN/DP 控制器,而無線電臺 DX80DR2M支持 RS485 Modbus RTU協(xié)議,因此設(shè)計選用赫優(yōu)訊公司的 NT30-DPS 網(wǎng)關(guān)(Modbus RTU 轉(zhuǎn)Profibus-DP從站)來實現(xiàn)數(shù)據(jù)交換,系統(tǒng)結(jié)構(gòu)設(shè)計如下:
二. 功能描述
如圖 1所示,兩個遠程站的NT30-DPS均通過其 Profibus-DP接口掛接到 CPU315-2PN/DP的Profibus-DP總線上作為DP從站運行,同時其RS485引出線連接到DX80DR2M 電臺的通訊引出線上,為了實現(xiàn)Modbus RTU的主從數(shù)據(jù)交換,其中一個 NT30-DPS 設(shè)計為Modbus RTU 主站運行,而另一臺NT30-DPS 設(shè)計為Modbus RTU 從站運行。在系統(tǒng)運行時,Modbus RTU 主站網(wǎng)關(guān)根據(jù)預先配置的通訊命令表(Modbus RTU 命令 FC1-FC16)自動讀寫Modbus RTU 從站網(wǎng)關(guān)的寄存器數(shù)據(jù),然后每個網(wǎng)關(guān)又通過 Profibus-DP輸入輸出映像區(qū)與各自的 CPU315-2PN/DP主站實現(xiàn)數(shù)據(jù)交換,從而實現(xiàn) CPU315-2PN/DP之間的數(shù)據(jù)交換,數(shù)據(jù)交換的實現(xiàn)如下圖所示:
圖2:數(shù)據(jù)交換實現(xiàn)
如上圖所示,兩個NT30-DPS與各自的CPU315-2PN/DP實現(xiàn) 64個字節(jié)的輸入輸出數(shù)據(jù)交換,通訊機制如下:
1)來自右側(cè) CPU315-2PN/DP 的輸出數(shù)據(jù)QW0-QW62通過 Profibus-DP機制被自動傳送到作為Modbus RTU 從站 的NT30-DPS 的30001-30032輸入寄存器中,然后被作為Modbus RTU主站的NT30-DPS通過 FC4功能號讀取到輸入端寄存器 Register1-32 中,最后通過 Profibus-DP 機制被自動傳送到左側(cè) CPU315-2PN/DP 的IW0-IW62輸入映像區(qū)中,從而實現(xiàn)了右側(cè) CPU 的輸出數(shù)據(jù)到左側(cè)CPU 的輸入數(shù)據(jù)的傳送。
2)來自左側(cè) CPU315-2PN/DP 的輸出數(shù)據(jù)QW0-QW62通過 Profibus-DP機制被自動傳送到作為Modbus RTU 主站的 NT30-DPS 的輸出端寄存器 Register1-32 中,然后通過功能號 16 將數(shù)據(jù)寫入到作為 Modbus RTU 從站的 NT30-DPS 的 40001-40032保持寄存器中,最后通過 Profibus-DP機制被自動傳送到右側(cè) CPU315-2PN/DP的IW0-IW62輸入映像區(qū)中,從而實現(xiàn)了左側(cè) CPU 的輸出數(shù)據(jù)到右側(cè)CPU 的輸入數(shù)據(jù)的傳送。
如上所述,CPU315-2PN/DP與網(wǎng)關(guān)的數(shù)據(jù)交換是靠 Profibus-DP機制自動完成的,而作為Modbus RTU主從站的兩個網(wǎng)關(guān)之間的數(shù)據(jù)傳送是通過主站的配置命令預先設(shè)定的,因此對于兩端的CPU315-2PN/DP來說,整個數(shù)據(jù)交換的實現(xiàn)是不需要編寫任何程序的。
三. NT30-DPS 的參數(shù)配置
NT30-DPS 的參數(shù)配置通過赫優(yōu)訊SYCON.net軟件實現(xiàn),對于作為Modbus RTU主站的NT30-DPS,其配置參數(shù)如下:
1) MODBUS表
Interface and RTS RS485 RTS ON
Baudrate 19200 Bits/s
Stopbits 1
Parity none
Mode master/ address:40001-49999
Slave Function Address Quantity Register Coil Write
2 4 30001 32 1 0 Cycle
2 16 40001 32 1 0 Cycle
2) SUPERVIS表
Supervision Mode SlaveError
以上未列出的參數(shù)均采用默認參數(shù)。
對于作為ModbusRTU從站的NT30-DPS,其配置參數(shù)如下:
1) MODBUS表
Interface and RTS RS485 RTS ON
Baudrate 19200 Bits/s
Stopbits 1
Parity none
Mode Slave / address:40001-49999
Modbus address 2
2) MODULES表
in byte con 64
out byte con 64
3) COMMAND表
無命令
以上未列出的參數(shù)均采用默認參數(shù)。
注意點:
1) 無論主從站均應(yīng)采用ModbusRTU標準地址格式,即 address:40001-49999;
2) 主從站的MODULES地址分配空間必須一致,上面分配的為 64個字節(jié)的輸入和 64個字節(jié)的輸出;
3) 對于主站,其 Supervision Mode參數(shù)不能選擇 off,否則在多從站網(wǎng)絡(luò)通訊中如果某一從站通訊故障(如斷開網(wǎng)絡(luò)),那么主站網(wǎng)關(guān)將不會自動跳過有故障的從站(始終嘗試與故障從站的通訊直到其恢復