<object id="ayu7o"></object>

      <object id="ayu7o"></object>

    1. <menuitem id="ayu7o"></menuitem>
      <object id="ayu7o"></object>
      加入收藏 在線留言 聯系我們
      關注微信
      手機掃一掃 立刻聯系商家
      全國服務熱線18475208684
      公司新聞
      西門子實例詳解s7-200 smart CPU與CPU之間 TCP通信
      發布時間: 2024-05-23 16:18 更新時間: 2024-12-02 08:00

      圖片image-20240326145354710

      TCP 協議通訊介紹

      TCP是一個因特網核心協議。在通過以太網通信的主機上運行的應用程序之間,TCP 提供了可靠、有序并能夠進行錯誤校驗的消息發送功能。TCP  能保證接收和發送的所有字節內容和順序完全相同。TCP  協議在主動設備(發起連接的設備)和被動設備(接受連接的設備)之間創建連接。一旦連接建立,任一方均可發起數據傳送。

      TCP協議是一種"流"協議。這意味著消息中不存在結束標志。所有接收到的消息均被認為是數據流的一部分。

      s7-200 smart 與 s7-200 smart之間TCP通訊實例

      S7 200  SMART與之間的TCP通訊可以通過兩邊調用**OUC(開放式用戶通訊)**指令庫中的TCP_CONNECT、TCP_SEND、TCP_RECV、DISCONNECT指令來實現。

      圖片image-20240326112029520

    2. 開放式用戶通信庫需要使用 50 個字節的 V 存儲器。
    3. 開放式的用戶通訊連接資源包括8個主動連接和8個被動連接。
    4. 只可從主程序或中斷例程中調用庫函數,但不可同時從這兩個程序中調用。
    5. 測試環境:

      1. 軟件版本:STEP 7-Micro/WIN SMART V2.8
      2. SMART CPU固件版本:V2.6
      3. 通訊硬件:TP電纜(以太網電纜)

      硬件配置:

      序號名稱IP硬件型號功能說明
      1tcp客戶端192.168.0.101ST20 V2.06發送VB0~VB3數據至服務器PLC的VB2000~VB20003中
      2tcp服務端192.168.0.102ST20 V2.06接收客戶端VB0~VB3數據并寫入到VB2000~VB2003
      S7-200 SMART TCP 客戶端編程
      1. 設置本機IP地址,客戶端設置為192.168.0.101

        圖片image-20240326113749026
      2. 建立TCP連接 調用TCP_CONNECT指令建立TCP連接。設置連接伙伴地址為192.168.0.102,遠端端口為2001,本地端口為5000,連接標識ID為1。利用SM0.0使能Active,設置為主動連接。

        圖片image-20240326132644880

        注:在建立連接時需先觸發服務器端的建立連接指令,再觸發客戶端。

        參數說明

        參數聲明數據類型描述
        ENINBOOL使能輸入
        ReqINBOOLReq = TRUE,CPU 啟動連接操作。
        Req = FALSE,則輸出顯示連接的當前狀態。
        ActiveINBOOLTRUE  = 主動連接
        FALSE = 被動連接
        ConnIDINWORDCPU  使用連接 ID (ConnID) 為其它指令標識該連接。可能的 ConnID 范圍為 0 到 65534。
        IPaddr1…IPaddr4INBYTE這些是  IP 地址的四個八位字節。例如:192.168.0.101對應IPaddr1=192,IPaddr4=101
        RemPortINWORDRemPort  是遠程設備上的端口號。
        LocPortINWORDLocPort 是本地設備上的端口號。
        DoneOUTBOOL當連接操作完成且沒有錯誤時,指令置位  Done 輸出。
        BusyOUTBOOL當連接操作正在進行時,指令置位  Busy 輸出。
        ErrorOUTBOOL當連接操作完成但發生錯誤時,指令置位 Error  輸出。有關詳細信息,請參見“開放式用戶通信庫指令錯誤代碼”。
        StatusOUTBYTE如果指令置位 Error  輸出,Status 輸出會顯示錯誤代碼。如果指令置位 Busy 或 Done 輸出,Status 為零(無錯誤)。

        RemPort:遠程設備上的端口號

        LocPort:本地 CPU 上的端口號

      3. 有效端口號范圍為 1 到 49151。
      4. 不能使用端口號 20、21、25、80、102、135、161、162、443 以及 34962 至 34964。這些端口具有特定用途。
      5. 建議采用的端口號范圍為 2000 到 5000。
      6. 對于被動連接,本地端口號必須唯一(不重復)。
      7. 有效端口號范圍為 1 到 49151。
      8. 建議采用的端口號范圍為 2000 到 5000。
      9. 對于被動連接,CPU 會忽略遠程端口號(可以將其設置為零)。
      10. 調用發送數據指令TCP_SEND 發送以VB0為起始,數據長度為DataLen長度的數據發送到連接ID為1指定的遠程設備。使用1HZ脈沖觸發發送請求;

        圖片


      1536471552.jpg

      1539421255.jpg

      1541592146.jpg

      1544737207.jpg

      1546191112.jpg


      聯系方式

      • 電  話:13922889745
      • 經理:向小姐
      • 手  機:18475208684
      • 微  信:18475208684