配置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所示:
原文標題:Modbus TCP 作為Server(主)實例
文章出處:【微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
-
cpu
+關注
關注
68文章
10863瀏覽量
211781 -
服務器
+關注
關注
12文章
9160瀏覽量
85426 -
軟件
+關注
關注
69文章
4944瀏覽量
87500 -
PN
+關注
關注
1文章
49瀏覽量
27021
原文標題:Modbus TCP 作為Server(主)實例
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
西門子PLC S7-1500系列介紹
![西門子PLC <b class='flag-5'>S7</b>-1500系列介紹](https://file1.elecfans.com//web3/M00/01/A2/wKgZPGdWxTCATmF0AAAzeEdYOlY32.webp)
CANopen主站轉Profinet從站協議網關(JM-PN-COP)
![CANopen主<b class='flag-5'>站</b>轉Profinet從<b class='flag-5'>站</b>協議網關(JM-<b class='flag-5'>PN</b>-COP)](https://file1.elecfans.com/web2/M00/04/18/wKgaombAUgqAFWvyAAMEDFR-0JY685.png)
宏集物聯網工控屏通過 S7 ETH 協議采集西門子 1200 PLC 數據
![宏集物聯網工控屏<b class='flag-5'>通過</b> <b class='flag-5'>S7</b> ETH 協議采集西門子 1200 PLC 數據](https://file1.elecfans.com/web2/M00/F2/66/wKgaomZ1MV6AFYo5ADYM_65m7eQ436.png)
干貨分享:宏集物聯網HMI通過S7 MPI協議采集西門子400PLC數據
![干貨分享:宏集物聯網HMI<b class='flag-5'>通過</b><b class='flag-5'>S7</b> MPI協議采集西門子<b class='flag-5'>400</b>PLC數據](https://file1.elecfans.com/web2/M00/ED/44/wKgZomZqg1aABbbgAAG9ZujEJLk752.png)
Modbus RTU轉PROFINET協議轉換網關 HT1S-PNS485-S10
Profinet轉ModbusTCP:從站設備轉換與集成案例
![Profinet轉ModbusTCP:從<b class='flag-5'>站</b>設備轉換與<b class='flag-5'>集成</b>案例](https://file1.elecfans.com/web2/M00/C6/E0/wKgaomYD4QyAa9NjAABfmYfujEA953.png)
S7-1500與CP343-1之間的TCP通信(TIA)配置過程
![<b class='flag-5'>S7</b>-1500與CP343-1之間的TCP通信(TIA)<b class='flag-5'>配置</b>過程](https://file1.elecfans.com/web2/M00/C0/8E/wKgZomXWvwCAR9DxAAAW7NmGVCc701.png)
GD32 MCU如何將燒錄口配置為GPIO使用?
![GD32 MCU<b class='flag-5'>如何將</b>燒錄<b class='flag-5'>口</b><b class='flag-5'>配置</b>為GPIO使用?](https://file1.elecfans.com/web2/M00/C0/3E/wKgZomXUC-KAMeKGAAA5pwTymlM287.png)
評論