#從今天起記錄我的2023##挑戰30天在頭條寫日記##學習#
今天是我記錄學習工控知識的第41天,繼續簡單的分享一下“西門子PLC 之間的TCP 通訊”的知識
一.什麼是TCP、UDP通信?
1.TCP/IP的協定集:
它包括了TCP、UDP、IP等協定,是以習慣使用其中最常用的兩種命名
2.TCP(傳輸控制協定):
TCP是面向連接配接的協定,在收發資料之前,都必須與對方建立可靠連接配接,可以保證資料的傳輸準确性。通信的傳輸需要經過“建立連接配接、資料傳輸、斷開連接配接”三個階段。TCP可以了解是打電話。必須接通了,才能說話。
TCP是由RCF793的描述的一種标準協定,主要用途為裝置之間提供全雙工、面向連接配接、可靠安全的連接配接服務。傳送資料時需要指定IP位址和端口号。
TCP協定具有以下特點:
1)與硬體綁定的高效通信協定。
2)适合傳輸中等量或大量的資料。
3)為大多數裝置應用提供錯誤恢複和流控制功能,具有較高的可靠性。
4)一個基于連接配接的協定。
5)可以靈活地與支援TCP協定的第三方裝置通信。
6)具有路由相容性。
7)隻可使用靜态資料長度。
8)有确認機制。
9)使用端口号進行應用尋址。
10)支援大多數應用協定,如TELNET、FTP都使用TCP
3.UDP(使用者資料報協定):
UDP是非連接配接的協定,它不需要與對方裝置建立連接配接。是以可以向多個裝置發送相同的資料。可以了解成發短信;即可單獨發短信,也可以群發短信。
UDP協定有如下特點。
1)可用的子網類型:工業以太網(TCP/IP協定)。
2)在兩個節點之間進行非安全性的相關資料域傳輸。
3)S7使用者程式中的接口:SEND/RECEIVE。
二.西門子中的TCP通信指令:
1.TCON(建立連接配接)、TSEND(發送資料)、TRCV(接收資料)、TDISCON(斷開連接配接),具體參考圖1、2、3、4
2.指令的拖入和管腳對應的功能不做贅述,不懂得請按F1檢視幫助即可。
三.簡單舉例:同一項目的PLC之間的TCP-IP通信
1.項目的建立及網絡建立:(本執行個體選用的是1500PLC),裝置組态及設定參考圖5、6
2.用戶端通信程式設計:
在用戶端中添加一個全局DB塊,在DB塊中建立兩個資料類型為數組的兩個變量,分别用做資料發送和資料接收緩沖區,參照圖7(也可以建個FB塊,把程式放到FB中)
在主程式中調用TCON(建立連接配接)、TSEND(發送資料)、TRCV(接收資料)進行通信程式設計,可參考圖8、9、10
3.服務端通信程式設計:
服務端程式設計與用戶端類似,操作步驟一緻,可參考圖11、12、13,圖14為仿真結果
四.指令使用及程式編寫的注意事項:
1.要明确用戶端與伺服器的差別,“主動連接配接”的是用戶端。
2.TCP通信需要兩個裝置保持在同一個網段。
3.在發送資料的時候,使用指針尋址,DB塊需要絕對尋址。
4.在設定連接配接屬性的時候,用戶端與伺服器的屬性要保持一緻,包括IP、接口類型、ID、連接配接資料、端口。
水準有限,編輯倉促,若有不足之處,請多多指教!