配置S7-400單站系統通過CPU集成PN口作為Server進行Modbus TCP通訊
下面以S7-400單站系統及Modscan32軟件為例,詳細介紹如何將S7-400單站系統通過CPU集成PN口配置為Server,Modscan32為Client進行Modbus TCP通訊,下圖11為服務器功能塊庫的程序結構及各功能塊完成的功能:
S7-400系統及Modscan32軟件組態
打開Step7軟件,新建一個工程項目文件,命名為“M_TCP_CPU_V26 (Server)”, 在項目下插入一個S7-400站,如下圖12所示:
圖12:新建S7-400 Station
雙擊插入的SIMATIC 400 Station的“Hardware”,打開硬件組態,在硬件組態界面下分別插入機架,電源PS407、CPU414-3PN/DP,本例中將CPU的PN口IP 地址設為192.168.70.2,如下圖13所示:
硬件組態完成后,編譯保存,并將例程站點“SIMATIC 400(Server)”中的程序(System data不需要拷貝)拷貝到該項目中。
由于需要在SIMATIC站與其他通訊伙伴之間建立TCP連接用于Modbus通訊,而對于CPU的集成PN口來說須通過Open IE(開放式以太網通訊)的方式來建立TCP連接,通過S7-CPU的 PROFINET接口進行 Modbus TCP 通信時,需要使用通信塊 FB65 "TCON"、FB66 "TDISCON"、FB63 "TSEND"和 FB64 "TRCV",要進行 Modbus TCP 通信,必須在數據塊中為每個連接指定相應的參數,相應得參數在程序中主要由DB2“MODBUS_PARAM“來完成初始化,其中各參數的含義如下圖14、15所示:
3.3 通訊測試
由于“ ModbusTCP PN-CPU V2.6”選項包支持功能碼FC1,2,3,4,5,6,15,16,不同的功能碼測試過程中類似,因此下面以FC03(讀寫保持寄存器)為例來說明通訊測試的整個過程,對于其他功能碼的測試將不再重復?述,對于Modbus的數據類型可參考下表4:
由于服務器主功能塊FB102“MODBUSPN”的參數需要初始化,因此分別在OB100及OB1中調用FB102,在OB100中調用FB102完成相關參數的初始化,FB102的管腳分布如下圖16所示:
打開Modscan32軟件,在“Connection--->connect”中打開連接屬性對話框,連接接口選擇“Remote TCP/IP Server”,IP Address分別填入CPU的IP 地址192.168.70.2,Service為遠程服務器的端口502,在協議的選擇對話框中可以定義傳輸模式、通訊超時響應時間,報文發送間隔及允許寫多個保持寄存器等,這里分別保持缺省設置即可,如下圖17所示:
下載硬件組態及程序到CPU中,將DB2“MODBUS_PARAM”的參數“server_client”使能為1,在 Modscan32 的“Set up->Data Definition”中設置數據掃?周期、寄存器連接類型、起始地址、長度等,如下圖18所示:
由于Modbus的內部地址編排時基于數據鏈路層和應用層有一定的映射關系,因此Modbus的地址與SIMATIC中的DB塊的地址時按照一定的地址映射關系來相對應,這樣造成了DB塊中有一定的地址偏移量,在本例中假設數據區的定義如下圖19所示,其DB偏移量、Modbus物理編址、應用層編址如下圖20所示:
在Step7的項目程序中新建一個變量監控表,插入需要監控的參數和數據區變量,可以看到Modscan32軟件與CPU414-3PN/DP的數據通訊已經建立起來了,雙方可以進行正常的保持寄存器數據讀寫操作,如下圖21所示:
責任編輯:lq
-
cpu
+關注
關注
68文章
10854瀏覽量
211578 -
TCP
+關注
關注
8文章
1353瀏覽量
79055 -
S7-400
+關注
關注
1文章
63瀏覽量
14697
原文標題:Modbus TCP 作為Server(主)實例
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論