S7-1200 CPU 與S7-300 CP TIA UDP通信
S7-1200 與 S7-300 CP 之間的以太網通信可以通過 UDP 協議來實現,使用的通信指令是在S7-1200 CPU 側調用通信-開放式用戶通信TSEND_C,TRCV_C指令或TCON,TDISCON,TUSEND,TURCV 指令,在 S7-300 CPU 側調用 AG-SEND, AG-RECV 指令來實現。
此外對于伙伴是S7-400 CP也可以參考本文檔。
硬件和軟件需求及所完成的通信任務
測試軟/硬件:
② S7-315-2PN/DP V2.6
③ S7-300 CP343-1 V2.0
④ STEP7 V16
所完成的通信任務:
① S7-1200 CPU將通訊數據區 DB4 塊中的 10 個字節的數據發送到 S7-300 CPU的接收數據區 DB5 塊中。
② S7-300 CPU將通訊數據區 DB5 塊中的 10 個字節的數據發送到 S7-1200 CPU的接收數據區 DB4 塊中。
S7-1200 側硬件組態、編程和連接參數的配置
該部分內容和 S7-1200 CPU 與S7-300 PN UDP通信-TIA不同項目->S7-1200 側硬件組態、編程和連接參數的配置 章節基本一致,請參考鏈接。
不同地方在于使用TSEND_C設置的伙伴IP地址和端口號(如對方CP343-1 的 IP:192.168.0.4,端口號:2000),如圖1所示。
圖1. 通過 TSEND_C 配置伙伴IP地址和端口號
S7-300CP 側硬件組態、編程和連接參數的配置
1.添加300CPU和CP343-1硬件并命名PLC
然后進入 “項目視圖”,在“項目樹” 下雙擊 “添加新設備”,在對話框中選擇所使用的 S7-300 CPU 添加到機架上,命名為 300CP,如圖2所示。
圖2. 添加300 CPU設備
為了編程方便,使用 CPU 屬性中定義的時鐘位,定義方法如下:
在 “項目樹” > “300PN” > “設備組態” 中,選中 CPU ,然后在下面的屬性窗口中,“屬性” > “時鐘存儲器” 下時鐘字節定義在 MB0,如圖3所示。
時鐘位使用 M0.5,以 1Hz 的速率自動激活發送任務。
圖3. 啟動時鐘存儲器
2.組態CP343-1并配以太網地址
在 “設備視圖”中點擊 CP 上代表 PROFINET 通信口的綠色小方塊,在下方會出現 PROFINET 接口的屬性,在 “以太網地址” 下分配 IP 地址為 192.168.0.4,子網掩碼為255.255.255.0,如圖4所示。
圖4. 分配300CP IP 地址
3.網絡視圖內組態UDP連接
①點擊設備和網絡,在網絡視圖內在300CPU側新建UDP連接,如圖5所示。注意是在CPU上右鍵添加新連接,而不是CP上添加新連接。
圖5. 300CPU側新建UDP連接
②選擇未指定的伙伴,確認連接ID號,然后確定,如圖6所示。注意本地接口選擇CP343-1。
圖6. 新建未指定UDP連接
③添加完成后,在網絡視圖-連接內可以查看新建的連接。點擊新建的UDP連接可進一步設置UDP連接參數, 如圖7所示。
圖7. 查看新建的UDP連接
④連接的常規-屬性內,設置新建連接的本地ID和伙伴IP及端口,如圖8-9所示。
圖8.設置連接的本地ID
圖9.設置連接的伙伴IP及端口號
4.在 S7-300 中調用通信指令
在OB1中,從“指令”>“通信 ”>“通信處理器 ”>“SIMATIC NET CP”下,調用“AG_SEND” 、“AG_RECV ”通信指令。創建接收和發送數據塊 DB5,發送10字節數組,接收10字節數組, 如圖10所示。
圖10. 調用AG_SEND和AG_RECV指令
指令管腳參數說明:
CALL “AG_SEND” | // 調用 AG_SEND | |
ACT | :=%M0.5 | // 使用 1Hz 的時鐘脈沖,上升沿激活發送任務 |
ID | :=1 | // 連接號,要與連接配置中一致 |
LADDR | :=W#16#100 | // CP 的地址,要與配置中一致見圖8,塊參數 |
SEND | :=“Data”.usend | // 發送數據區 |
LEN | :=10 | // 發送數據的長度 |
DONE | :=%M10.1 | // 為1時,發送完成 |
ERROR | :=%M10.2 | // 為1時,有故障發生 |
STATUS | :=%MW12 | // 狀態代碼 |
CALL “ AG_RECV” | // 調用 AG_RECV | |
ID | :=1 | // 連接號,要與連接配置列表中一致, |
LADDR | :=W#16#100 | // CP 的地址,要與配置中一致見圖8,塊參數 |
RECV | :=“Data”.urcv | // 接收數據區 |
NDR | :=%M20.0 | // 為1時,接收到新數據 |
ERROR | :=%M20.1 | // 為1時,有故障發生 |
STATUS | :=%MW22 | // 狀態代碼 |
LEN | :=%MW24 | // 接收到的實際數據長度 |
300CPU側配置和編程完成,編譯并存盤。
下載硬件組態及程序并監控通信結果
下載兩個 CPU 中的所有硬件組態及程序,實現 兩個 CPU 之間數據交換,監控結果如圖11所示。
圖11. 監控結果
-
以太網
+關注
關注
40文章
5419瀏覽量
171599 -
cpu
+關注
關注
68文章
10854瀏覽量
211583 -
通信
+關注
關注
18文章
6024瀏覽量
135950 -
S7-300
+關注
關注
8文章
225瀏覽量
34292 -
S7-1200
+關注
關注
11文章
331瀏覽量
17957
原文標題:S7-1200 CPU 與S7-300 CP TIA UDP通信
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論