0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

S7 200 SMART之間TCP協(xié)議通訊的實現(xiàn)

機器人及PLC自動化應(yīng)用 ? 來源:機器人及PLC自動化應(yīng)用 ? 作者:機器人及PLC自動化 ? 2022-03-30 15:23 ? 次閱讀

TCP協(xié)議通訊

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

TCP協(xié)議是一種"流"協(xié)議。這意味著消息中不存在結(jié)束標(biāo)志。所有接收到的消息均被認(rèn)為是數(shù)據(jù)流的一部分。

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

f58d5d40-ae06-11ec-aa7f-dac502259ad0.png

圖1.開放式用戶通訊庫

開放式用戶通信庫需要使用 50 個字節(jié)的 V 存儲器。

開放式的用戶通訊連接資源包括8個主動連接和8個被動連接。

只可從主程序或中斷例程中調(diào)用庫函數(shù),但不可同時從這兩個程序中調(diào)用。

所需條件:

1、軟件版本:STEP 7-Micro/WIN SMART V2.2

2、SMART CPU固件版本:V2.2

3、通訊硬件:TP電纜(以太網(wǎng)電纜)

所完成的通訊任務(wù):

將作為客戶端的PLC(IP地址為192.168.0.101)中VB0-VB3的數(shù)據(jù)傳送到作為服務(wù)器端的PLC(IP地址為192.168.0.102)的VB2000-VB2003中。

S7-200 SMART 客戶端編程

1、設(shè)置本機IP地址

在客戶端設(shè)置IP地址為192.168.0.101

f5cf2054-ae06-11ec-aa7f-dac502259ad0.png

圖2.設(shè)置IP地址

2、建立TCP連接

調(diào)用TCP_CONNECT指令建立TCP連接。設(shè)置連接伙伴地址為192.168.0.102,遠(yuǎn)端端口為2001,本地端口為5000,連接標(biāo)識ID為1。利用SM0.0使能Active,設(shè)置為主動連接。

f5e226fe-ae06-11ec-aa7f-dac502259ad0.png

圖3.調(diào)用TCP_CONNECT指令

指令的參數(shù)

輸入?yún)?shù):

EN :使能輸入

Req:沿觸發(fā)

Active :TURE=主動連接(客戶端)

FALSE=被動連接(服務(wù)器)

ConnID:連接ID為連接標(biāo)識符,可能范圍為0-65534。

IPaddr1 ... IPaddr4:IP 地址的四個八位字節(jié)。IPaddr1 是 IP 地址的最高有效字節(jié),IPaddr4 是 IP 地址的最低有效字節(jié)。

RemPort:遠(yuǎn)程設(shè)備上的端口號。遠(yuǎn)程端口號范圍為 1 到 49151。對于被動連接,可使用零。

LocPort :本地設(shè)備端口號。范圍為1-49151,但是存在一些限制。

本地端口號的規(guī)則如下:

有效端口號范圍為 1 到 49151。

不能使用端口號 20、21、25、80、102、135、161、162、443以及34962至34964。這些端口具有特定用途。

建議采用的端口號范圍為 2000 到 5000。

對于被動連接,本地端口號必須唯一(不重復(fù))。

輸出參數(shù):

Done:當(dāng)連接操作完成且沒有錯誤時,指令置位 Done 輸出。

Busy:當(dāng)連接操作正在進(jìn)行時,指令置位 Busy 輸出。

Error:當(dāng)連接操作完成但發(fā)生錯誤時,指令置位 Error 輸出。

Status:如果指令置位 Error 輸出,Status 輸出會顯示錯誤代碼。具體錯誤代碼對應(yīng)詳見手冊。如果指令置位 Busy 或 Done 輸出,Status 為零(無錯誤)。

3、調(diào)用發(fā)送數(shù)據(jù)指令TCP_SEND

調(diào)用TCP_SEND指令發(fā)送以VB0為起始,數(shù)據(jù)長度為DataLen長度的數(shù)據(jù)發(fā)送到連接ID為1指定的遠(yuǎn)程設(shè)備。

利用1HZ的時鐘上升沿觸發(fā)發(fā)送請求。

f5ff290c-ae06-11ec-aa7f-dac502259ad0.png

圖4.調(diào)用TCP_SEND指令

指令的參數(shù)

輸入?yún)?shù):

EN :使能輸入

Req:沿觸發(fā)

ConnID:連接 ID (ConnID) 是此發(fā)送操作的連接ID號。

DataLen :DataLen 是要發(fā)送的字節(jié)數(shù)(1 到 1024)。

DataPtr:DataPtr 是指向待發(fā)送數(shù)據(jù)的指針。

輸出參數(shù):

Done:當(dāng)連接操作完成且沒有錯誤時,指令置位 Done 輸出。

Busy:當(dāng)連接操作正在進(jìn)行時,指令置位 Busy 輸出。

Error:當(dāng)連接操作完成但發(fā)生錯誤時,指令置位 Error 輸出。

Status:如果指令置位 Error 輸出,Status 輸出會顯示錯誤代碼。具體錯誤代碼對應(yīng)詳見手冊。如果指令置位 Busy 或 Done 輸出,Status 為零(無錯誤)。

4、終止通訊連接

用戶可通過DISCONNECT指令終止指定ID的連接。

f61acec8-ae06-11ec-aa7f-dac502259ad0.png

圖5.調(diào)用DISCONNECT指令

參數(shù)說明:

輸入?yún)?shù):

EN :使能

Req:沿觸發(fā)指令。

輸出參數(shù):

Done:當(dāng)連接操作完成且沒有錯誤時,指令置位 Done 輸出。

Busy:當(dāng)連接操作正在進(jìn)行時,指令置位 Busy 輸出。

Error:當(dāng)連接操作完成但發(fā)生錯誤時,指令置位 Error 輸出。

Status:如果指令置位 Error 輸出,Status 輸出會顯示錯誤代碼。具體錯誤代碼對應(yīng)詳見手冊。如果指令置位 Busy 或 Done 輸出,Status 為零(無錯誤)。

5、分配庫存儲區(qū)

開放式用戶通信庫需要使用 50 個字節(jié)的 V 存儲器,用戶需手動分配 。在指令樹的程序中,以鼠標(biāo)右鍵單擊程序塊,在彈出的快捷菜單中選擇庫存儲器。如圖所示:

f62d15b0-ae06-11ec-aa7f-dac502259ad0.png

圖6.庫存儲器

在彈出的選項卡中設(shè)置庫指令數(shù)據(jù)區(qū):

f649f978-ae06-11ec-aa7f-dac502259ad0.png

圖7.分配地址

S7-200 SMART 服務(wù)器端編程

1、設(shè)置本機IP地址

設(shè)置IP地址為192.168.0.102

f65de78a-ae06-11ec-aa7f-dac502259ad0.png

圖8.設(shè)置本機IP地址

2、建立TCP連接

調(diào)用TCP_CONNECT指令建立TCP連接。設(shè)置連接伙伴地址為192.168.0.101,遠(yuǎn)端端口為5000,本地端口為2001,連接標(biāo)識ID為1。利用SM0.0常閉點使能Active,設(shè)置為被動連接。

f678b614-ae06-11ec-aa7f-dac502259ad0.png

圖9.調(diào)用TCP_CONNECT指令

3、接收數(shù)據(jù)

調(diào)用TCP_RECV指令接收指定ID連接的的數(shù)據(jù)。接收的緩沖區(qū)長度為MaxLen,數(shù)據(jù)接收緩沖區(qū)以VB2000為起始。

f69146f2-ae06-11ec-aa7f-dac502259ad0.png

圖11.調(diào)用TCP_RECV指令

監(jiān)控結(jié)果

其中客戶端的VW1000是發(fā)送的數(shù)據(jù)長度,服務(wù)器端的vw1000是接收的數(shù)據(jù)長度。

f6a81c10-ae06-11ec-aa7f-dac502259ad0.png

圖12.監(jiān)控結(jié)果

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 以太網(wǎng)
    +關(guān)注

    關(guān)注

    40

    文章

    5440

    瀏覽量

    172016
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1372

    瀏覽量

    79142

原文標(biāo)題:S7-200 SMART之間TCP通信例程

文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    西門子1200、200smart、LOGO實現(xiàn)S7通訊演示

    版本軟件 4、交換機 五口路由器 5、若干網(wǎng)線 6、LOGO!A8.2 12/24RCE ?系列 7、S7-200smart ?st20系列 8、S7-1200 ?1211c 系列 二、通信
    的頭像 發(fā)表于 12-05 09:31 ?526次閱讀
    西門子1200、<b class='flag-5'>200smart</b>、LOGO<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>S7</b><b class='flag-5'>通訊</b>演示

    s7-200_SMART系統(tǒng)手冊

    電子發(fā)燒友網(wǎng)站提供《s7-200_SMART系統(tǒng)手冊.pdf》資料免費下載
    發(fā)表于 10-21 10:50 ?7次下載

    教程-西門子S7協(xié)議轉(zhuǎn)換為HTTP協(xié)議

    本章要實現(xiàn)一個流程:EG8200采集西門子S7-200Smart的數(shù)據(jù),并組裝成JSON格式通過HTTP上報應(yīng)用平臺。
    的頭像 發(fā)表于 10-12 16:18 ?481次閱讀
    教程-西門子<b class='flag-5'>S7</b><b class='flag-5'>協(xié)議</b>轉(zhuǎn)換為HTTP<b class='flag-5'>協(xié)議</b>

    如何利用無線MODBUS通訊模塊實現(xiàn)無線485通信?

    l 通訊接口:Rs485接口 l 供電:9-24VDC l 通訊協(xié)議:ModbusRTU l 傳輸距離:100米,500米,1KM,3KM,20KM 本方案以西門子S7-200SMART
    的頭像 發(fā)表于 09-29 17:14 ?428次閱讀
    如何利用無線MODBUS<b class='flag-5'>通訊</b>模塊<b class='flag-5'>實現(xiàn)</b>無線485通信?

    EG網(wǎng)關(guān)采集西門子S7-200smart轉(zhuǎn)Modbus協(xié)議

    通過EG邊緣計算網(wǎng)關(guān),用戶可以輕松實現(xiàn)西門子S7-200 Smart PLC數(shù)據(jù)的采集,并將其轉(zhuǎn)換為標(biāo)準(zhǔn)Modbus協(xié)議輸出。這種跨協(xié)議的數(shù)
    的頭像 發(fā)表于 09-10 10:42 ?593次閱讀
    EG網(wǎng)關(guān)采集西門子<b class='flag-5'>S7-200smart</b>轉(zhuǎn)Modbus<b class='flag-5'>協(xié)議</b>

    labview實現(xiàn)tcp通訊

    labview實現(xiàn)tcp通訊
    發(fā)表于 08-19 14:26 ?15次下載

    西門子 S7 通信協(xié)議大揭秘

    什么是S7協(xié)議 有網(wǎng)友說,如果 S7 是一輛汽車,它可能看起來像這樣: 實際上,西門子S7協(xié)議是西門子集團(tuán)專為旗下
    的頭像 發(fā)表于 08-12 14:21 ?797次閱讀
    西門子 <b class='flag-5'>S7</b> 通信<b class='flag-5'>協(xié)議</b>大揭秘

    S7協(xié)議讀取西門子S7-200 Smart PLC數(shù)據(jù)

    西門子S7-200 Smart PLC因其穩(wěn)定性和易用性而廣泛應(yīng)用。通過使用S7協(xié)議,可以實現(xiàn)對PLC數(shù)據(jù)的高效讀取和控制。本文將詳細(xì)介紹如
    的頭像 發(fā)表于 07-11 11:55 ?6135次閱讀
    <b class='flag-5'>S7</b><b class='flag-5'>協(xié)議</b>讀取西門子<b class='flag-5'>S7-200</b> <b class='flag-5'>Smart</b> PLC數(shù)據(jù)

    西門子S7協(xié)議TCP協(xié)議的區(qū)別

    在工業(yè)自動化領(lǐng)域,通信協(xié)議的選擇對于確保設(shè)備間的順暢通信和數(shù)據(jù)的可靠傳輸至關(guān)重要。西門子S7協(xié)議TCP協(xié)議作為兩種常用的通信
    的頭像 發(fā)表于 06-19 15:54 ?3932次閱讀

    華為智界S7汽車今日開啟海量交付

    余承東曾在月末的微博中透露,多臺智界 S7 已從生產(chǎn)線駛出,正趕赴推送給用戶的途中。該車款由華為與奇瑞聯(lián)手打造,去年 11 月正式上市,共推出四種型號——智界 S7 Pro、智界 S7 Max、智界
    的頭像 發(fā)表于 04-11 16:22 ?744次閱讀

    西門子S7-200 Smart PLC加密設(shè)置全面指南

    本文將詳細(xì)介紹西門子S7-200 Smart PLC的加密設(shè)置方法,幫助用戶更好地保護(hù)PLC程序的安全。
    發(fā)表于 03-27 10:14 ?1.1w次閱讀
    西門子<b class='flag-5'>S7-200</b> <b class='flag-5'>Smart</b> PLC加密設(shè)置全面指南

    組態(tài)軟件與西門子S7系列PLC及三菱PLC間的無線通信測試

    組態(tài)軟件與西門子S7系列PLC及三菱PLC間的無線通信測試需要用到以下設(shè)備: l 西門子PLC型號:S7-200Smart × 2臺 l 三菱PLC型號:FX5U × 2臺 l 上位機:力控V7.1
    的頭像 發(fā)表于 03-13 14:54 ?482次閱讀
    組態(tài)軟件與西門子<b class='flag-5'>S7</b>系列PLC及三菱PLC間的無線通信測試

    西門子S7-200 SMART的通信端口解析

    S7-200 SMART CPU 集成的 RS485 通信端口(端口0)是與 RS485 兼容的9針 D 型連接器。CPU 集成的 RS485 通信端口的引腳分配如表1. S7-200 SMA
    發(fā)表于 02-27 11:28 ?3096次閱讀
    西門子<b class='flag-5'>S7-200</b> <b class='flag-5'>SMART</b>的通信端口解析

    兩臺西門子s7-200smart plc如何通過互聯(lián)網(wǎng)遠(yuǎn)程通訊?

    監(jiān)控和控制的需求,對于位于不同地點的PLC設(shè)備如何實現(xiàn)遠(yuǎn)程通訊,則成為了許多工業(yè)企業(yè)面臨的一項重要問題。 兩臺西門子s7-200smart plc如何通過互聯(lián)網(wǎng)遠(yuǎn)程通訊? 西門子
    的頭像 發(fā)表于 02-01 15:22 ?2486次閱讀
    兩臺西門子<b class='flag-5'>s7-200smart</b> plc如何通過互聯(lián)網(wǎng)遠(yuǎn)程<b class='flag-5'>通訊</b>?

    S7-1500與多臺200SMART之間無線以太網(wǎng)通訊搭建方法

    S7-200smart為例,介紹S7-1500與多臺 S7-200smart在Profinet協(xié)議下的自組網(wǎng)無線通信實現(xiàn)過程。在本方案中采用
    的頭像 發(fā)表于 01-24 08:58 ?1230次閱讀
    <b class='flag-5'>S7</b>-1500與多臺<b class='flag-5'>200SMART</b><b class='flag-5'>之間</b>無線以太網(wǎng)<b class='flag-5'>通訊</b>搭建方法