圖15 通訊連接建立
下面以S7-400單站系統(tǒng)及ModSim32軟件為例,詳細介紹如何將S7-400單站系統(tǒng)配置為Client,ModSim32為Server進行Modbus TCP通訊,在本例中同樣使用FC10“AG_CNTRL”版本的功能塊,由于客戶端和服務(wù)器模式均使用相同的功能塊,因此客戶端功能塊庫的程序結(jié)構(gòu)及各功能塊完成的功能可以參考圖5。
本例中所用的硬件設(shè)備如下表:
名稱 |
數(shù)量 |
訂貨號 |
S7-400電源模塊PS 407 10A |
1 |
6ES7407-0KA01-0AA0 |
S7-400 CPU414-3PN/DP |
1 |
6ES7414-3EM05-0AB0(V5.2) |
S7-400 CP443-1 |
1 |
6GK7443-1EX41-0XE0(V1.0) |
S7-400 機架 |
1 |
6ES7400-1JA00-0AA0 |
網(wǎng)線 |
若干 |
|
筆記本電腦 |
1 |
|
表4 客戶端硬件清單
所用到軟件如下表:
名稱 |
訂貨號 |
STEP7 V5.5 組態(tài)編程軟件 英文版 |
|
“ ModbusTCP CP V4.3” 軟件選項包 |
2XV9450-1MB00 |
ModSim32 免授權(quán)版本 |
可從網(wǎng)上免費獲取 |
表5 客戶端軟件清單
打開Step7軟件,新建一個工程項目文件,命名為“M_TCP_CP_V43(Client)”, 在項目下插入一個S7-400站,如下圖16所示:
圖16 新建S7-400 Station
雙擊插入的SIMATIC 400 Station的“Hardware”,打開硬件組態(tài),在硬件組態(tài)界面下分別插入機架,電源PS407、CPU414-3PN/DP、CP443-1,本例中將CP的IP地址設(shè)為192.168.70.2,如下圖17所示:
圖17 硬件組態(tài)并設(shè)置CP443-1的IP地址
打開Netpro網(wǎng)絡(luò)組態(tài),選中CPU414-3PN/DP,插入一個新連接,連接伙伴為Unspecified,連接類型為TCP Connection,如下圖18所示:
圖18 網(wǎng)絡(luò)組態(tài)-新建TCP connection
打開連接屬性對話框中的“General Inbation”,由于CP443-1做Client主動發(fā)起連接,因此需要勾選“Active connection estabishment”選項,ID保持缺省即可,在“Address”欄中同樣由于CP443-1做Client,對于本地的端口號設(shè)置為2000(一般從2000以外開始以避免與別的協(xié)議資源沖突),對于通訊伙伴Remote的IP地址設(shè)置為測試PC機的IP 地址,本例中 PC機的IP設(shè)置為192.168.70.245,而Port號設(shè)置為502,如下圖19所示:
圖19 S7-400為客戶端的TCP connection參數(shù)設(shè)置
組態(tài)完成后,編譯保存,將例程站點“SIMATIC 400(Client)”中的程序(System data不需要拷貝)拷貝到該項目中并下載(注意:OB100中調(diào)用的FB108的id和laddr需根據(jù)組態(tài)確認(rèn))。
關(guān)于服務(wù)器和端口號的設(shè)置請參考本文中2.2章節(jié)說明。
由于“ModbusTCP CP V4.3”選項包支持功能碼FC1,2,3,4,5,6,15,16,不同的功能碼測試過程中類似,因此下面同樣以FC03(讀寫保持寄存器)為例來說明通訊測試的整個過程,對于其他功能碼的測試將不再重復(fù)描述。
需要說明的是由于客戶端功能塊需要定義具體的功能碼,而主功能塊FB108 “MODBUSCP”并沒有直接的管腳來定義功能碼,而是由其中的兩個參數(shù)“DATA_TYPE”和“single-write”共同決定(參見后面的管腳參數(shù)說明),詳細情況如下圖20所示: