概述
SIMATIC S7- 300 CPU集成了 PROFINET 接口,該接口除了具備連接 PROFINET總線通信功能,同時還可用于標準的 TCP 通信。
通過組態TCP連接及使用開放式通信專用功能塊與其它設備建立TCP連接以實現通信。
本文以S7-300CPU作為TCP的服務器,PC機上運行的TCP&UDPDebug軟件模擬第三方設備作為客戶端;進行通信的配置過程。
自動化解決方案
網絡拓撲結構
如圖1所示,300 PLC(192.168.0.1/24)與PC(192.168.0.2/24)進行OPEN IE TCP通信。300 PLC作為TCP通信連接的客戶端。
圖1網絡拓撲結構
硬件與軟件需求
設備 |
數量 |
訂貨號 |
注釋 |
PS307 120/230 VAC |
1 |
6ES7307-1EA01-0AA0 |
負載電源模塊 |
CPU 300 |
1 |
6ES7315-2EH14-0AB0 |
|
存儲卡4MB |
1 |
6ES7953-8LM11-0AA0 |
作為裝載存儲器 |
安裝導軌 |
1 |
6ES7390-1AE80-0AA0 |
|
PC |
1 |
表1硬件列表
設備 |
數量 |
訂貨號 |
注釋 |
STEP 7 V5.5 SP4 |
1 |
6ES7810-4CC10-0YA5 |
|
Windows 7專業版SP1 64-bit Operating System |
1 |
表2軟件環境
組態配置
分配 IP地址
通過如下的步驟配置PC的IP地址
步驟 |
操作 |
備注 |
1. . |
選擇“開始>控制面板>網絡和共享>本地連接>屬性”打開Internet協議版本4(TCP/IPv4), 設置 PC 的 IP 地址。
|
|
分配CPU模塊的IP地址
步驟 |
操作 |
備注 |
1. . |
用網線直接連接PC和CPU315。 |
連接兩個設備到同一個以太網物理網上 |
2. |
在 Engineer PC 上打開 STEP 7 V5.5。進入 SIMATIC Manager 主界面,展開菜單欄“PLC”,單擊“Edit Ethernet Node”(編輯以太網節點)。 |
|
4. |
彈出“Edit Ethernet Node”(編輯以太網節點)對話框,點擊“Browse”。 |
|
3. |
按照打印在CPU315模塊上的 X2接口MAC地址來確定需要分配IP地址的設備,本案例為00-0E-8C-CD-B4-AA,選中此設備,點擊“OK”。 |
|
4. |
在工作區“IP address”處輸入IP地址192.168.0.1和“Subnet mask”處輸入255.255.255.0,點擊“Assign IP Configuration”。 |
|
5. |
|
創建 PLC 項目
在 STEP7 V5.5中創建一個項目并插入CPU315 站。操作步驟如表3
步驟 |
操作 |
備注 |
1. . |
在 Engineer PC 上打開 STEP7 V5.5。在“File”菜單中選擇“New…”選項。 |
|
2. |
在彈出的創建新項目窗口里輸入項目名為“TCP_Server”,然后點擊“OK”按鈕。 |
|
3. . |
在TCP_Client下點擊右鍵“Insert New Object”,選擇“SIMATIC 300 Station”。 |
|
4. |
雙擊“Hardware”打開硬件組態。 |
|
5. |
插入 S7-300插槽。 |
|
插入S7-300 CPU,與實際PLC一致:6ES7 315-2EH14-0AB0 V3.2。 |
|
|
在彈出的“Properties-Ethernet interface PN-IO”對話框的“Parmeters”選項卡中為以太網接口添加,設置IP地址192.168.0.1和子網掩碼255.255.255.0。 |
|
|
點擊“New...”新建子網。 |
|
|
“New subnet Industrial Ethernet”對話框下 Name:Ethernet(1)。 |
|
|
新建 Subnet 后,點擊“OK”。 |
|
|
|
表3硬件組態
TCP通信向導組態
創建用于開放式TCP/IP通信的連接數據的向導(開放式通信向導)下載鏈接:
https://support.industry.siemens.com/cs/cn/en/view/98957840/zh
步驟 |
操作 |
備注 |
1. |
開始菜單中選擇“SIMATIC”—“Open Communication Wizard”。 |
|
2. |
打開“Open Communication Wizard”。 |
|
3. |
選擇 STEP 7 project。 |
|
4 |
選擇 TCP_Server 項目。 |
|
5 |
選擇 Block folder。 |
|
選擇項目下的Blocks。 |
|
|
點擊“Next”。 |
|
|
點擊“OK”。 |
|
|
點擊“Next”。 |
|
|
選擇“Connection type”—“TCP native”, 點擊“Next”。 |
|
|
選擇“Communication parter B is not a S7-CPU(eg. a PC)”, 點擊“Next”。 |
|
|
Connect name:“300_Server”。 |
|
|
因為 S7 300作服務器,因此選擇“Passive”。 |
|
|
選擇User interface:CPU 314/315/317/ET200pro(IM154-8 CPU)。 |
|
|
Communication parter B的IP地址192.168.0.2,點擊“Next”。 |
|
|
Communication parter A端口號:2000,點擊“Next”。 |
|
|
Communication parter A,數據塊Name:DB1,點擊“Next”。 |
|
|
點擊“Next”。 |
|
|
點擊“Finish”。 |
|
|
點擊“是”。 |
|
表4 T_BLOCK編程
TCP通信編程
步驟 |
操作 |
備注 |
1. |
查看 SIMATIC Manager—Blocks 下生成了 DB1。 |
|
2. |
雙擊 OB1進入。 |
|
3. |
需要的功能塊。 |
|
4. |
插入FB65 TCON |
|
5. |
添加背景DB。 |
|
7. |
打開DB1,復制“OUCW_1”名稱。 |
|
8. |
“CONNECT”引腳輸入DB1. 粘貼“OUCW_1”。 |
|
9. |
正確填寫 FB65 引腳。 |
|
10 |
添加 Bata Block。 |
|
添加共享 DB11,作為發送數據區。 |
|
|
11 |
添加變量,類型為數組。 |
|
12 |
添加100個 BYTE 的數組變量。 |
|
13 |
添加 FB63,背景數據塊為DB63,正確填寫 FB63 引腳。 |
|
14 |
添加共享 DB12,作為接收數據區。 |
|
15 |
添加變量,類型為數組。 |
|
16 |
添加100個 BYTE 的數組變量。 |
|
17 |
添加 FB64,背景數據塊為DB64,正確填寫 FB64 引腳。 |
|
18 |
添加 FB66,背景數據塊為DB66,正確填寫 FB66 引腳。 |
|
表4 T_BLOCK編程
下載組態到站點
步驟 |
操作 |
備注 |
1. |
返回 SIMATIC Manager 主界面。 |
|
2. |
下載項目到 PLC。 |
|
3. |
彈出的“Download”對話框,點擊“Yes”。 |
|
TCP&UDPDebug組態
步驟 |
操作 |
備注 |
1. |
桌面選擇“TCP&UDPDebug”圖標。 |
|
2. |
雙擊進入“TCP&UDPDebug”界面。 |
|
3. |
右鍵“客戶端模式”,點擊“創建連接”。 |
|
在彈出的創建連接對話框中填寫目標IP:192.168.0.1; 端口:2000;本機端口:隨機端口;點擊“創建”按鈕。 |
|
|
顯示客戶端模式(未連接狀態)。 |
|
TCP通信測試
步驟 |
操作 |
備注 |
1. |
在SIMATIC Manager 中,Blocks 下插入變量表“Variable Table”。 |
|
2. |
添加變量。
|
|
3. |
觸發“TCON_REQ ”。 |
|
M10.0 TCON_REQ顯示為“true”。 |
|
|
TCP&UDP測試工具,右鍵客戶端模式下的 192.168.0.1:2000,點擊“連接”。 |
|
|
TCP&UDP測試工具,顯示連接以建立。 |
|
|
硬件組態,點擊在線按鈕。 |
|
|
硬件組態在線后,雙擊CPU 315-2PN/DP。 |
|
|
進入CPU的 Module Information 對話框。 |
|
|
進入“Communication”選項卡,可以看到“Open communication via Industrial Ethernet”下“Connection resources in use:”顯示為:1。 |
|
|
點擊“Diagnostics...”,可以看到連接以建立。 |
|
|
“TCP&UDPDebug”界面,接收區選擇“十六進制”。 |
|
|
寫入16進制數據“99 88 77 66 55 44 33 22 11 00”。 |
|
|
觸發“TSEND_REQ”,發送。 |
|
|
TCP&UDP測試工具,接收區顯示16進制數據“99 88 77 66 55 44 33 22 11 00”。 |
|
|
在發送區寫入16進制數據“00 11 22 33 44 55 66 77 88 99”,點擊“發送”按鈕。 |
|
|
觸發“TRCV_EN_R”,接收到 10個字節數據。 |
|
審核編輯:郭婷
-
cpu
+關注
關注
68文章
10854瀏覽量
211584 -
接口
+關注
關注
33文章
8575瀏覽量
151019 -
服務器
+關注
關注
12文章
9123瀏覽量
85328
原文標題:S7-300與第三方的TCP通信_Server(STEP7)
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論