配置S7-400單站系統(tǒng)通過(guò)CPU集成PN口作為Client進(jìn)行Modbus TCP通訊
下面以S7-400單站系統(tǒng)及ModSim32軟件為例,詳細(xì)介紹如何將S7-400單站系統(tǒng)CPU的集成PN口配置為Client,ModSim32為Server進(jìn)行Modbus TCP通訊,由于客戶端和服務(wù)器模式均使用相同的功能塊.
4.2 S7-400單站系統(tǒng)與ModSim32軟件組態(tài)
打開Step7軟件,新建一個(gè)工程項(xiàng)目文件,命名為“M_TCP_CPU_V26(Client)”, 在項(xiàng)目下插入一個(gè)S7-400站,如下圖所示:
雙擊插入的SIMATIC 400 Station的“Hardware”,打開硬件組態(tài),在硬件組態(tài)界面下分別插入機(jī)架,電源PS407、CPU414-3PN/DP,本例中將CPU的PN口IP 地址設(shè)為192.168.70.2
由于需要在SIMATIC站與其他通訊伙伴之間建立TCP連接用于Modbus通訊,而對(duì)于CPU的集成PN口來(lái)說(shuō)須通過(guò)Open IE(開放式以太網(wǎng)通訊)的方式來(lái)建立TCP連接,通過(guò)S7-CPU的 PROFINET接口進(jìn)行 Modbus TCP 通信時(shí),需要使用通信塊 FB65 "TCON"、FB66 "TDISCON"、FB63 "TSEND"和 FB64 "TRCV",要進(jìn)行 Modbus TCP 通信,必須在數(shù)據(jù)塊中為每個(gè)連接指定相應(yīng)的參數(shù),相應(yīng)得參數(shù)在程序中主要由 .
DB2“MODBUS_PARAM”來(lái)完成初始化.
連接類型要設(shè)置為Client主動(dòng)
硬件組態(tài)完成后,編譯保存,并將例程站點(diǎn)“SIMATIC 400(Client)”中的程序(Systemdata不需要拷貝)拷貝到該項(xiàng)目中。
打開DB2“MODBUS_PARAM”并切換到數(shù)據(jù)視圖,修改需要訪問(wèn)的Modbus TCP server的IP 地址和端口號(hào),本例中作為服務(wù)器的電腦IP 為192.168.70.245,端口號(hào)為502.
rem_staddr: 通信伙伴的IP地址,與參數(shù)connection_type有關(guān),以192.168.0.1為例:
2)connection_type= B#16#11時(shí)
rem_staddr[1]= B#16#C0(192)
rem_staddr[2]= B#16#A8(168)
rem_staddr[3]= B#16#00(0)
rem_staddr[4]= B#16#01(1)
rem_staddr[5-6]=B#16#00(為IPV6預(yù)留)
rem_tsap_id遠(yuǎn)程連接TSAP號(hào),與參數(shù)connection_type有關(guān)
1)connection_type= B#16#01時(shí)
local_tsap_id[1] 本地連接端口號(hào)的低字節(jié)[16進(jìn)制]
local_tsap_id[2] 本地連接端口號(hào)的高字節(jié)[16進(jìn)制]
local_tsap_id[3-16] B#16#00
2)connection_type=B#16#11時(shí)
local_tsap_id[1] 本地連接端口號(hào)的高字節(jié)[16進(jìn)制]
local_tsap_id[2] 本地連接端口號(hào)的低字節(jié)[16進(jìn)制]
local_tsap_id[3-16] B#16#00
通訊測(cè)試
由于“ModbusTCP PN-CPU V2.6”選項(xiàng)包支持功能碼FC1,2,3,4,5,6,15,16,不同的功能碼測(cè)試過(guò)程中類似,因此下面同樣以FC03(讀寫保持寄存器)為例來(lái)說(shuō)明通訊測(cè)試的整個(gè)過(guò)程,對(duì)于其他功能碼的測(cè)試將不再重復(fù)述。
需要說(shuō)明的是由于客戶端功能塊需要定義具體的功能碼,而主功能塊FB102“MODBUSPN”并沒(méi)有直接的管腳來(lái)定義功能碼,而是由DB2“MODBUS_PARAM”中的兩個(gè)參數(shù)“DATA_TYPE”和 “single-write”共同決定.
由于客戶端和服務(wù)器均使用相同的功能塊FB102“MODBUSPN”的參數(shù)需要初始化,因
此分別在OB100及OB1中調(diào)用FB102,在OB100中調(diào)用FB102完成相關(guān)參數(shù)的初始化。
打開ModSim32軟件,在“Connection--->connect”中打開連接屬性對(duì)話框,連接接口選擇“Modbus/TCP svr”,TCP/IP Server Port為本地服務(wù)器的端口502.
下載硬件組態(tài)及程序到CPU中,將DB2“MODBUS_PARAM”的參數(shù)“server_client”使能為0,給參數(shù)ENQ_ENR發(fā)送脈沖信號(hào);在打開的ModSim32軟件窗口設(shè)置寄存器連接類型、起始地址、長(zhǎng)度等.
在Step7的項(xiàng)目程序中新建一個(gè)變量監(jiān)控表,插入需要監(jiān)控的參數(shù)和數(shù)據(jù)區(qū)變量,可以看到ModSim32軟件與CPU414-3PN/DP的數(shù)據(jù)通訊已經(jīng)建立起來(lái)了,雙方可以進(jìn)行正常的保持寄存器數(shù)據(jù)讀寫操作(讀寫權(quán)限由參數(shù)"WRITE_ READ"決定)
審核編輯:劉清
-
ModBus協(xié)議
+關(guān)注
關(guān)注
3文章
177瀏覽量
33416 -
脈沖信號(hào)
+關(guān)注
關(guān)注
6文章
398瀏覽量
36956 -
S7-400
+關(guān)注
關(guān)注
1文章
63瀏覽量
14697 -
TCP通信
+關(guān)注
關(guān)注
0文章
146瀏覽量
4221
原文標(biāo)題:西門子CPU集成PN口作為Client進(jìn)行Modbus TCP
文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論