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

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

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

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

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

TCP協(xié)議通訊

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

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

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

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

圖1.開(kāi)放式用戶通訊庫(kù)

開(kāi)放式用戶通信庫(kù)需要使用 50 個(gè)字節(jié)的 V 存儲(chǔ)器。

開(kāi)放式的用戶通訊連接資源包括8個(gè)主動(dòng)連接和8個(gè)被動(dòng)連接。

只可從主程序或中斷例程中調(diào)用庫(kù)函數(shù),但不可同時(shí)從這兩個(gè)程序中調(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è)置本機(jī)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)識(shí)ID為1。利用SM0.0使能Active,設(shè)置為主動(dòng)連接。

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

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

指令的參數(shù)

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

EN :使能輸入

Req:沿觸發(fā)

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

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

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

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

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

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

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

有效端口號(hào)范圍為 1 到 49151。

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

建議采用的端口號(hào)范圍為 2000 到 5000。

對(duì)于被動(dòng)連接,本地端口號(hào)必須唯一(不重復(fù))。

輸出參數(shù):

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

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

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

Status:如果指令置位 Error 輸出,Status 輸出會(huì)顯示錯(cuò)誤代碼。具體錯(cuò)誤代碼對(duì)應(yīng)詳見(jiàn)手冊(cè)。如果指令置位 Busy 或 Done 輸出,Status 為零(無(wú)錯(cuò)誤)。

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

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

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

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

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

指令的參數(shù)

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

EN :使能輸入

Req:沿觸發(fā)

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

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

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

輸出參數(shù):

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

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

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

Status:如果指令置位 Error 輸出,Status 輸出會(huì)顯示錯(cuò)誤代碼。具體錯(cuò)誤代碼對(duì)應(yīng)詳見(jiàn)手冊(cè)。如果指令置位 Busy 或 Done 輸出,Status 為零(無(wú)錯(cuò)誤)。

4、終止通訊連接

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

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

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

參數(shù)說(shuō)明:

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

EN :使能

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

輸出參數(shù):

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

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

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

Status:如果指令置位 Error 輸出,Status 輸出會(huì)顯示錯(cuò)誤代碼。具體錯(cuò)誤代碼對(duì)應(yīng)詳見(jiàn)手冊(cè)。如果指令置位 Busy 或 Done 輸出,Status 為零(無(wú)錯(cuò)誤)。

5、分配庫(kù)存儲(chǔ)區(qū)

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

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

圖6.庫(kù)存儲(chǔ)器

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

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

圖7.分配地址

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

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

設(shè)置IP地址為192.168.0.102

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

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

2、建立TCP連接

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

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

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

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

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

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

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

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

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

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

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

審核編輯:郭婷

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

    關(guān)注

    40

    文章

    5343

    瀏覽量

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

    關(guān)注

    8

    文章

    1347

    瀏覽量

    78934

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

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

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

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

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

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

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

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

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

    華為智界S7汽車今日開(kāi)啟海量交付

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

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

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

    西門(mén)子S7-200 SMART的通信端口解析

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

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

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

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

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

    如何在S7-200 SMART CPU斷電重啟后保持運(yùn)動(dòng)控制的當(dāng)前位置值?

    S7-200 SMART 斷電重啟后由于初始化指令的執(zhí)行,當(dāng)前位置會(huì)復(fù)位為0。要使S7-200 SMART運(yùn)動(dòng)控制的當(dāng)前位置值在CPU斷電重啟后依然保持,可以通過(guò)以下的編程來(lái)
    的頭像 發(fā)表于 01-10 10:28 ?1882次閱讀
    如何在<b class='flag-5'>S7-200</b> <b class='flag-5'>SMART</b> CPU斷電重啟后保持運(yùn)動(dòng)控制的當(dāng)前位置值?

    s7-200smart編程教程

    S7-200 Smart是西門(mén)子推出的一款緊湊型、高性能的PLC(可編程邏輯控制器),廣泛應(yīng)用于各種工業(yè)自動(dòng)化領(lǐng)域。本教程將詳細(xì)介紹S7-200 Smart的編程方法,包括硬件配置、軟
    的頭像 發(fā)表于 12-14 11:11 ?2785次閱讀

    西門(mén)子S7-200SMART常見(jiàn)通訊問(wèn)題解答

    S7-200SMART CPU最多可輸出3路高速脈沖(除ST20外),這意味著可同時(shí)控制最多3個(gè)步進(jìn)電機(jī),通過(guò)運(yùn)動(dòng)向?qū)Э膳渲孟鄳?yīng)的運(yùn)動(dòng)控制子程序,然后通過(guò)調(diào)用子程序編程可實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的控制。
    的頭像 發(fā)表于 11-22 09:05 ?1272次閱讀
    西門(mén)子<b class='flag-5'>S7-200SMART</b>常見(jiàn)<b class='flag-5'>通訊</b>問(wèn)題解答

    PLC西門(mén)子S7-200smartS7-1200的區(qū)別?

    PLC西門(mén)子S7-200smartS7-1200的區(qū)別? 西門(mén)子S7-200 smartS7-1200是西門(mén)子公司推出的兩個(gè)PLC產(chǎn)品系
    的頭像 發(fā)表于 11-17 11:41 ?9547次閱讀