18luck网站

18luck网站電子設計 | 18luck网站Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 18luck网站 >> 18luck平台 >> 梯形圖實例 >> 正文

深度剖析西門子PLC的開放式TCP通信梯形圖 TCP通訊

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2022-10-22

對於(yu) 自控或電氣工程師來說,西門子PLC是每個(ge) 人都非常熟悉的一款PLC品牌;而對於(yu) 上位機開發工程師來說,Socket通信或TCP/IP協議也是必須要掌握的一種通信方式。剛好手頭有一款西門子的200Smart PLC,可以利用它來跟大家聊聊Socket通信的那些事兒(er) 。

相比較而言,西門子PLC對Socket通信的支持性是很不錯的。如果你在使用西門子軟件或者逛西門子論壇時,發現一個(ge) 詞叫做Open User Communication或開放式通信,沒錯,那其實就是我們(men) 說的Socket通信方式。關(guan) 於(yu) 這一點,我們(men) 可以從(cong) 以下兩(liang) 張圖中看出,分別為(wei) S7-200Smart編程軟件Micro/Win Smart V2.5及博途TIA V15.1編程軟件中關(guan) 於(yu) 通信庫的部分截圖:

 

 

我們(men) 可以看到無論是西門子的中高端PLC還是低端PLC,都是支持開放式TCP/UDP通信的,既然都支持,我們(men) 來看下如何實現。

眾(zhong) 所周知,對於(yu) Socket通信來說,是可以支持TCP、UDP等多種通信方式,但是今天在這裏,我們(men) 主要針對TCP這種通信方式。除此以外,大家都知道,Socket會(hui) 存在服務器和客戶端的說法,也就意味著,同樣是使用Socket通信,我們(men) 仍然需要確定到底PLC是作為(wei) 服務器還是作為(wei) 客戶端,因為(wei) 不管對於(yu) PLC編程或者上位機開發來說,這兩(liang) 種方式都是完全不同的,下麵做具體(ti) 介紹。

一、PLC作為(wei) TCP服務器的實戰應用 

(1)PLC編程

1.1   創建一個(ge) TCPServer的子程序,拖拽一個(ge) TCP_CONNECT的庫指令,對於(yu) 該指令的每個(ge) 引腳對應的含義(yi) ,大家可以按下F1直接獲取在線幫助,程序段1編寫(xie) 如下圖所示: 

 

1.2  拖拽一個(ge) TCP_SEND的庫指令,對於(yu) 該指令的每個(ge) 引腳填寫(xie) ,ConnID為(wei) 1,Req為(wei) 觸發條件,必須為(wei) 沿信號,這裏為(wei) 了方便,直接使用1秒的脈衝(chong) 信號,DataLen及DataPtr為(wei) 發送的起始字節指針及發送的字節長度,程序段2如下圖所示:

 

1.3  拖拽一個(ge) TCP_RECV的庫指令,對於(yu) 該指令的每個(ge) 引腳填寫(xie) ,ConnID統一為(wei) 1,MaxLen為(wei) 接收的最大程度,DataPtr表示接收字節存放的起始位置,程序段3如下圖所示:

 

1.4  最後需要編譯,編譯會(hui) 提示需要給庫分配地址,點擊文件下的存儲(chu) 器,給該庫分配地址即可,然後在MAIN主程序中調用TCPServer這個(ge) 子程序,並下載到PLC中,PLC編程部分結束。

 

(2)TCP調試助手測試

如果PLC程序編寫(xie) 沒問題,打開一個(ge) 網絡調試助手,輸入對應的IP地址及端口號,即可連接上服務器。

連接服務器後,PLC端會(hui) 自動每隔一秒發送200個(ge) 字節數據過來,這200個(ge) 字節即對應VB100-VB299的值。

 

(3)上位機客戶端軟件開發

 

通過與(yu) 編程軟件的狀態圖表進行對照,可以實時讀取PLC數據,並隨時設置相應的數值。

 

二、PLC作為(wei) TCP客戶端的實戰應用 

(1) PLC編程

1.1   創建一個(ge) TCPClient的子程序,拖拽一個(ge) TCP_CONNECT的庫指令,與(yu) 服務器程序不同的是,這裏需要把Active設置為(wei) ON,同時IP地址和端口號需要根據上位機實際情況填寫(xie) ,程序段1編寫(xie) 如下圖所示:

 

1.2   拖拽一個(ge) TCP_SEND的庫指令,對於(yu) 該指令的每個(ge) 引腳填寫(xie) ,ConnID為(wei) 2,Req為(wei) 觸發條件,必須為(wei) 沿信號,這裏為(wei) 了方便,直接使用1秒的脈衝(chong) 信號,DataLen及DataPtr為(wei) 發送的起始字節指針及發送的字節長度,程序段2如下圖所示:

 

1.3  拖拽一個(ge) TCP_RECV的庫指令,對於(yu) 該指令的每個(ge) 引腳填寫(xie) ,ConnID統一為(wei) 2,MaxLen為(wei) 接收的最大程度,DataPtr表示接收字節存放的起始位置,程序段3如下圖所示:

 

1.4   最後需要編譯,如果已經編寫(xie) 過服務器程序,這裏就不需要分配地址了,直接在MAIN主程序中調用TCPClient這個(ge) 子程序,並下載到PLC中,PLC編程部分結束。

(2)TCP調試助手測試

如果PLC程序編寫(xie) 沒問題,打開一個(ge) 網絡調試助手,設置模式為(wei) TCP Server,輸入端口號為(wei) 2000,即可開啟服務器。

服務器開啟後,PLC端會(hui) 自動連接服務器,並且每隔一秒發送100個(ge) 字節數據過來,這100個(ge) 字節即對應VB500-VB599的值。

 

(3) 上位機服務器軟件開發

 

通過與(yu) 狀態圖表進行對比,驗證可以正常讀取和寫(xie) 入PLC數據。

三、整體(ti) 總結

後續通過進一步測試,驗證PLC可以同時作為(wei) 服務器和客戶端與(yu) 上位機進行通信。

本次主要針對西門子PLC的開放式TCP通信作了較為(wei) 詳細地闡述,由於(yu) 篇幅有限,無法將上位機部分的具體(ti) 編程代碼進行分析。

Tags:西門子PLC,TCP,通訊,梯形圖  
責任編輯:admin
相關文章列表
西門子PLC模擬實現自動售賣機案例,售貨機梯形圖實例
理解西門子PLC間接尋址和指針梯形圖實例,S7-200SMART
觸摸屏與PLC之間無線通訊步驟詳解,PLC與觸摸屏通訊
西門子S7-200通訊控製台達變頻器,實例講解Modbus RTU通訊
modbus協議詳解_西門子S7-200與變頻器MODBUS通訊實例詳解
西門子plc梯形圖編程實例 西門子200smart與電流表Modbus RTU通訊
使用西門子plc的Modbus通訊 串口調試助手與S7-200SMART PLC從站通
西門子PLC串口通訊方法 RS485 串口通訊
西門子plc梯形圖實例S7-200Smart與ABB ACS550變頻器通訊Modbus通
西門子S7-200PLC ModbusTCP通訊,ModScan32使用
Modbus通訊簡單測試—Modscan32使用簡介
Modbus Scan32模擬軟件使用,Modscan32使用教程
西門子plc s7-200通訊設置(西門子plc200與電腦通訊怎麽設置)STEP
西門子S7-200PLC中,如何將大於32767的整數轉換成正實數?VD、VW
西門子plc S7-200係列中斷指令第二部分 ENI和DISI指令
西門子plc置位與複位指令的功能說明
西門子plc與modbus設備進485通信詳解(modbus多機輪詢)讀取儀表
寄存器PLC地址與寄存器modbus協議地址 三菱FX係列西門子s7係列pl
西門子PLC S7-200smart與匯川變頻器通過通訊控製 梯形圖實例
西門子PLC梯形圖編程 控製汽車自動清洗裝置
西門子PLC S7-200 實數運算指令的應用的指令表及梯形圖 除法
西門子plc S7-200係列PLC整數乘除法指令的格式及使用
西門子plc梯形圖實例 S7-200係列PLC轉換指令練習實例 整數實數轉
西門子plc梯形圖實例 MOV指令數據傳送
西門子plc S7-200係列梯形圖實例:電機多段定時啟動功能 READ_RT
西門子plc梯形圖實例S7-200係列PLC增減計數指令入門 CTUD增減計數
西門子PLC試題5:小車往複運動控製係統梯形圖實例
西門子plc比較指令的實例代碼梯形圖實例,計數器CTUD和比較指令
西門子plc實現8個彩燈移位控製的代碼梯形圖實例MOV_B,ROL_B,ROR_
西門子plc s7-200係列梯形圖實例:設置時鍾指令 SET_RTC和MOV_B
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
推薦文章
最新推薦
關於我們 - 聯係我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁麵
下到頁底
晶體管查詢