<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發網

      電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
      搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 梯形圖實例 >> 正文

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

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

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

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

       

       

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

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

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

      (1)PLC編程

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

       

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

       

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

       

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

       

      (2)TCP調試助手測試

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

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

       

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

       

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

       

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

      (1) PLC編程

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

       

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

       

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

       

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

      (2)TCP調試助手測試

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

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

       

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

       

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

      三、整體總結

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

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

      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 個字
      [ 查看全部 ] 網友評論
      推薦文章
      最新推薦
      關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 鲁一鲁一鲁一鲁一曰综合网| 色婷婷天天综合在线| 色综合久久久无码中文字幕波多| 久久婷婷五月综合色精品| 狠狠做深爱婷婷久久综合一区| 色婷婷色综合激情国产日韩| 色综合久久无码五十路人妻| 色婷婷六月亚洲综合香蕉| 中文字幕久久综合| 狠狠色婷婷丁香综合久久韩国| 亚洲乱码中文字幕综合| 婷婷综合久久中文字幕蜜桃三| 色狠狠久久AV五月综合| 狠狠88综合久久久久综合网| 综合久久久久久久综合网| 久久婷婷五月综合色高清| 国产成人久久综合二区| 色综合久久夜色精品国产| 久久综合综合久久狠狠狠97色88| 国产精品综合一区二区| 亚洲综合精品第一页| 久久久久AV综合网成人| 久久综合香蕉国产蜜臀AV| 久久亚洲精品成人综合| 中文字幕国产综合| 伊人久久青草青青综合| 精品久久综合1区2区3区激情| 亚洲丁香婷婷综合久久| 丁香婷婷激情综合俺也去| 国产精品无码久久综合网| 色天天综合久久久久综合片| 六月婷婷缴清综合在线| 色噜噜狠狠狠狠色综合久一| 亚洲色图综合在线| 亚洲AV综合色一区二区三区| 一本色道久久88加勒比—综合| 亚洲国产综合专区在线电影| 五月天婷婷综合网| 久久久久久久综合日本| 天天爽天天狠久久久综合麻豆| 亚洲国产精品综合久久2007|