1.0 它是一種開放式通信協議,只要適用于與第三方設備的通信連接,如PLC,HMI,遠程IO等第三方設備。
西門子TCP通信協議的定義
2.0 TSEND_C: 通過以太網發送數據,有效性以下“TSEND_C”說明適用于 S7-1200 CPU 固件版本 V4.0 及更低版本。
說明TSEND_C”指令設置并建立 TCP 或 ISO-on-TCP 通信連接。設置并建立連接后,CPU 會自動保持和監視該連接。參數 CONNECT 中指定的連接描述用于設置通信連接。
該指令異步執行且具有以下功能:
2.1設置并建立通信連接:
通過 CONT=1 設置并建立通信連接。連接成功建立后,參數 DONE 將置位為“1”并持續一個周期。CPU 進入 STOP 模式后,將終止現有連接并移除已設置的連接。要再次設置并建立該連接,需要再次執行“TSEND_C”。有關可能的通信連接數量信息,請參見 CPU 的技術規范。
2.2 通過現有通信連接發送數據:
通過參數 DATA 可指定發送區。這包括要發送數據的地址和長度。請勿在 DATA 參數中使用數據類型為 BOOL 或 Array of BOOL 的數據區。如果在參數 DATA 中使用純符號值,則 LEN 參數的值必須為“0”。
2.3 在參數 REQ 中檢測到上升沿時執行發送作業。使用參數 LEN 可指定通過一個發送作業發送的最大字節數。發送數據(在參數 REQ 的上升沿)時,參數 CONT 的值必須為“1”才能建立或保持連接。在發送作業完成前不允許編輯要發送的數據。如果發送作業成功執行,則參數 DONE 將設置為“1”。參數 DONE 的信號狀態“1”并不能確定通信伙伴已讀取所發送的數據。
2.4 終止通信連接
參數 CONT 置位為“0”時,即使當前進行的數據傳送尚未完成,也將終止通信連接。但如果對“TSEND_C”使用了已組態連接,將不會終止連接。
將 COM_RST 參數設置為“1”時,可以隨時重置當前建立的連接或當前數據傳輸。這會終止現有通信連接并建立新連接。如果再次執行該指令時正在傳送數據,可能會導致數據丟失。
要在執行 (DONE = 1) 后再次啟用“TSEND_C”,使用 REQ = 0 調用一次指令。
說明
編程連接時的技術支持
如果在程序塊中選擇通信指令 TCON、TSEND_C 或 TRCV_C 創建類型為 TCP、UDP 或 ISO-on-TCP 的連接,并為這些連接分配參數,則可使用連接參數分配支持功能。
在程序編輯器的巡視窗口中,可進行連接參數分配。
3.0 建立TCP網絡需要的軟硬件明細如下:
3.0.1.兩臺1200系列PLC控制器,版本必須在4.0左右,筆者的是兩臺1215DCDCDC控 制器(實際可以不需要硬件,使用TIA的仿真可以完成數據傳輸);
3.0.2 博途TIA軟件一個(可以是V14,V15/V16)都可以;
3.0.3 筆記本或臺式電腦一臺;
3.0.4 以太網線一條。
滿足以上條件才可以組建TCP協議網絡。
4.0 組態兩臺PLC硬件及網絡連接
4..0.1 組態PLC硬件如下圖所示:
組態1#PLC打開“OB1”建立“一個全局數據塊”定義為“發送”數據,取消“優化訪問塊”。如下圖所示:
按以上方式方法建立1#2#PLC的“發送”“接收”數據塊。
4.0.2 .1#PLC的指令塊“TSEND_C”(正在建立連接和發送指令)的組態,首先把“TSEND_ C”拖拽到“OB1”程序中,點擊數據塊中“藍色小按鈕”彈出組態對話框,如下圖所示:
4.0.3.1#PLC在程序“OB1”中“TSEND_C”指令塊管腳的定義如下圖:
5.0. 組態2#PLC,拖拽指令塊“TRCV_C”到“OB1”中,點擊指令塊中藍色圖標組態2# PLC數據連接,如下圖所示:
5.0.1 2#PLC接收指令塊管腳定義如下圖所示:
忘記標“CONT”管腳定義:它控制著通信數據連接狀態,以2進制來表示,“1”表示通信進行時,“0”表示通信斷開時。其實PLC1不光做發送,也可以做接收,同理,PLC2也不光可以接收數據,還可以發送數據,它們的發送接收方式方法同我在這里講的一樣,只不過把順序倒過來而已,這里不再闡述。
以上簡單介紹西門子TIA平臺上兩臺1200PLC/TCP通訊,對想學西門子PLC通訊的朋友多一份參考,由于時間倉促及作者自身水平受限,文章中難免有介紹不完善或者錯誤的地方,望廣大朋友批評指正,小的在這感謝了!
-
以太網
+關注
關注
40文章
5460瀏覽量
172430 -
通信協議
+關注
關注
28文章
911瀏覽量
40395 -
plc
+關注
關注
5016文章
13385瀏覽量
464888 -
西門子
+關注
關注
94文章
3062瀏覽量
116295 -
TCP
+關注
關注
8文章
1378瀏覽量
79216
發布評論請先 登錄
相關推薦
評論