一種 PLC 與 IPC 進行 TCP/IP 通訊的設計方案
文:文 / 唐山職業技術學院 崔文2023年第四期
導語:本文介紹了西門子 PLC 與上位機電腦 IPC 之間進行 TCP/IP 通訊功能的一種設計方案,詳細說明了通訊自定義協議格式。之后, 使用通訊測試軟件模擬作為客戶端對該通訊形式進行了測試,測試結果良好,具有實際使用意義,并且可以在實際項目中使用。
西門子S7-1200系列PLC使用靈活、功能強大,可用 于控制各種各樣的設備以滿足自動化需求。S7-1200設計 緊湊、組態靈活且具有功能強大的指令集,其中CPU將微 處理器、集成電源、輸入和輸出電路、內置PROFINET、 高速運動控制 I/O以及板載模擬量輸入組合到一個設計緊 湊的外殼中來形成功能強大的控制器。S7-1200集成的 工業以太網通訊接口用于與編程計算機、HMI(人機界 面)、其他PLC或者設備進行通訊 。
1 通訊系統組成
本系統采用西門子S7 - 1200系列PLC為控制系統核 心,其中CPU型號為1214C DC/DC/DC,固件版本為 V4.0, 產品的訂貨號6ES7 214-1AG40-0XB0。PLC與 上位機工業電腦IPC通過TCP/IP通訊協議進行通訊,可直 接使用工業以太網線通過工業網絡交換機連接到PLC本體 模塊上的工業以太網接口和IPC上的網絡接口上。IPC上安裝西門子PLC編程軟件TIA Portal用來對PLC進行參數 配置、網絡設置、程序編寫及監控、調試等;TCP/IP通 常測試軟件可用來模擬作為TCP/IP通訊的客戶端,PLC端 則作為服務器,用來響應客戶端的通訊請求,該系統的網 絡結構圖如圖1所示。
圖 1 系統網絡結構
2 PLC端參數設置
PLC端進行TCP/IP通訊時,可以使用西門子的通訊功 能塊:
(1)TSEND_C(v2.1),PLC發送數據的功能塊; (2)TRCV(V3.0),PLC接收數據的功能塊。
PLC發送/接收數據的功能塊如下圖2所示。需要注意 的是這些通訊模塊的版本號會隨TIA Portal的版本升級而 升級更新,功能可能會有所更新,需要及時查看對應的參 考說明手冊文件。
PLC與PC之間進行基于TCP/IP的工業以太網通訊,
圖 2 西門子 TCP/IP 通信功能塊
PC給PLC發送字符串(String)類型的控制字命令,PLC 向PC發送字符串類型的狀態字。
西門子S7 - 12 00系列CPU 支持使用String(字符 串)數據類型存儲一串單字節字符。String數據類型包含 總字符數(字符串中的字符數)和當前字符數。String 類型提供了多達 256個字節,用于存儲最大總字符數(1 個字節)、當前字符數(1個字節)以及最多254個字符 (每個字符占1個字節),即最多254個有效字符。
字符串存儲的格式結構為:
(1)String [0]:最大總字節數(254);
(2)String [1]:當前字符數(根據實際情況);
(3)String [2]: 第一個有效字符,以此類推, 一直 到最后一個即第254個有效字符結束。由此可知PLC的一 個字符串的有效字符是從第2個字節開始,在使用字符串 時要注意。
2.1 數據PLC向 → PC
為了發送有效字符串,發送數據時使用字符型數 組,這樣PLC反饋的狀態字符串需要先進行“St rg_TO_ chars”(V1.2)字符串轉換成字符數組,然后把字符數 組發送給PC。
在本系統中設置字符串的結束字符為“$00”,不 同長度的字符串通過“$00”來結束,在字符串中當讀到 “$00”時就會結束讀取。如發送“ERROR$00abc”、 “OK$00123”,字符數組中的字符分布為“ERROR”、 “OK”。因此,要求客戶端在發送字符串通訊命令時要按照 事先約定好的通訊格式進行,否則就會出現異常。
為了能實時的將PLC端通訊數據發送給PC端,因此 在通訊發送端功能塊TSEND_C的REQ管腳上連接了一個 1Hz頻率的時鐘信號,通過該時鐘信號可以用1秒一次的 頻率發送信息數據給PC端。這個時鐘信號可以根據實際 項目的通訊速度的需求進行修改調整,PLC端發送數據功 能塊如圖3所示。
TCP/IP通訊組態的參數配置如下圖所示,設置通訊 的參數如圖4所示。
作為測試,Partner的Adress 128.168.0.50要與測 試軟件所在的PC的IP保持一致,如圖5所示。
測試軟件為“ TCP&UDP Test Tool. exe”,軟件設 置畫面如圖6所示。
圖 3 PLC 發送數據功能塊
圖 4 PLC 端通訊參數設置
圖 5 IPC 端 IP 地址和子網掩碼設置
圖 6 通訊測試軟件設置
圖 7 通訊連接成功
圖 8 PLC 接收數據功能塊
需要配置的參數如下:目標IP為PLC的IP地址。 用Socket通訊測試軟件如圖7所示。
2.2 數據PC → PLC
PC向PLC端發送字符串數據時,PLC端通過字符型數 組來接收,然后將字符數據轉換成字符串。需要PC端在 發送控制字符串時在每個字符串最后加入結束字符, 如 “#”。PLC端接收數據的通訊功能塊程序如圖8所示。
“FC_Chars_to_ St rg”功能的作用是將PLC讀進來 的字符數組轉換成字符串,其中iSymbol管腳即是定義的 結束字符。當字符數組中讀到結束字符時將將結束字符前 面的字符轉換成字符串,數據塊DB3作為發送、接收通 訊數據DB塊使用,而數據塊DB5是中間轉換的數據塊,PLC發送的字符串和從PC中讀出的字符數組轉換字符串。
3 結束語
PLC和IPC采用了TCP/IP通訊控制網絡形式之后,整 個系統不僅接線變簡單,而且運行穩定,通訊速度快,操 作配置參數簡單,反饋的信息全面。本系統還可以用于西 門子S7-1200系列PLC和其他系列元器件設備(如工業相 機、工業機器人、掃碼槍等)進行通訊測試項目,不需要 任何附加的設備即可對西門子PLC和IPC的通訊功能進行 測試,節省了成本和工作量,具有一定的實際意義,可用 于實際工程項目中。
中傳動網版權與免責聲明:
凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.siyutn.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。

關注伺服與運動控制公眾號獲取更多資訊

關注直驅與傳動公眾號獲取更多資訊

關注中國傳動網公眾號獲取更多資訊

掃碼關注小程序
時刻關注行業動態


- 運動控制
- 伺服系統
- 機器視覺
- 機械傳動
- 編碼器
- 直驅系統
- 工業電源
- 電力電子
- 工業互聯
- 高壓變頻器
- 中低壓變頻器
- 傳感器
- 人機界面
- PLC
- 電氣聯接
- 工業機器人
- 低壓電器
- 機柜