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

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

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

S7-200 SMART之間TCP通信例程

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

TCP 協(xié)議通訊

TCP是一個(gè)因特網(wǎng)核心協(xié)議。在通過以太網(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通訊可以通過兩邊調(diào)用OUC(開放式用戶通訊)指令庫(kù)中的TCP_CONNECT、TCP_SEND、TCP_RECV、DISCONNECT指令來實(shí)現(xiàn)。

4c768cb8-ae0b-11ec-aa7f-dac502259ad0.png

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

4c86038c-ae0b-11ec-aa7f-dac502259ad0.jpg開放式用戶通信庫(kù)需要使用 50 個(gè)字節(jié)的 V 存儲(chǔ)器。

4c86038c-ae0b-11ec-aa7f-dac502259ad0.jpg開放式的用戶通訊連接資源包括8個(gè)主動(dòng)連接和8個(gè)被動(dòng)連接。

4c86038c-ae0b-11ec-aa7f-dac502259ad0.jpg只可從主程序或中斷例程中調(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

4cb009b6-ae0b-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)連接。

4cc87a28-ae0b-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)連接操作完成且沒有錯(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)詳見手冊(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)求。

4cda4ff0-ae0b-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)連接操作完成且沒有錯(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)詳見手冊(cè)。如果指令置位 Busy 或 Done 輸出,Status 為零(無(wú)錯(cuò)誤)。

4、終止通訊連接

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

4cec38b4-ae0b-11ec-aa7f-dac502259ad0.png

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

參數(shù)說明:

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

EN :使能

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

輸出參數(shù):

Done:當(dāng)連接操作完成且沒有錯(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)詳見手冊(cè)。如果指令置位 Busy 或 Done 輸出,Status 為零(無(wú)錯(cuò)誤)。

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

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

4d024c3a-ae0b-11ec-aa7f-dac502259ad0.png

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

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

4d1c6c28-ae0b-11ec-aa7f-dac502259ad0.png

圖7.分配地址

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

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

設(shè)置IP地址為192.168.0.102

4d2c37fc-ae0b-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)連接。

4d3d0f14-ae0b-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為起始。

4d4e620a-ae0b-11ec-aa7f-dac502259ad0.png

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

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

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

4d5e1db2-ae0b-11ec-aa7f-dac502259ad0.png

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

審核編輯 :李倩

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

    關(guān)注

    40

    文章

    5323

    瀏覽量

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

    關(guān)注

    8

    文章

    1337

    瀏覽量

    78874
  • S7-200
    +關(guān)注

    關(guān)注

    13

    文章

    407

    瀏覽量

    50254

原文標(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次下載

    如何用 S7-200 實(shí)現(xiàn) Modbus 通信?

    電子發(fā)燒友網(wǎng)站提供《如何用 S7-200 實(shí)現(xiàn) Modbus 通信?.pdf》資料免費(fèi)下載
    發(fā)表于 09-14 10:22 ?1次下載

    西門子PLC不得不說的事:S7-200SMART通信端口及連接方式

    今天我們來聊聊西門子S7-200 SMART的“通信大法”!挺簡(jiǎn)單的,咱們來捋捋~ S7-200 SMART 是西門子公司推出的一款面向小型
    的頭像 發(fā)表于 08-27 17:31 ?683次閱讀
    西門子PLC不得不說的事:<b class='flag-5'>S7-200SMART</b><b class='flag-5'>通信</b>端口及連接方式

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

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

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

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

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

    S7-200 SMART CPU 集成的 RS485 通信端口(端口0)是與 RS485 兼容的9針 D 型連接器。CPU 集成的 RS485 通信端口的引腳分配如表1.
    發(fā)表于 02-27 11:28 ?2246次閱讀
    西門子<b class='flag-5'>S7-200</b> <b class='flag-5'>SMART</b>的<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)過程。在本方案中采用了西門子PLC無(wú)線通訊終端DTD418M,作
    的頭像 發(fā)表于 01-24 08:58 ?1020次閱讀
    <b class='flag-5'>S7</b>-1500與多臺(tái)<b class='flag-5'>200SMART</b><b class='flag-5'>之間</b>無(wú)線以太網(wǎng)通訊搭建方法

    如何在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斷電重啟后依然保持,可以通過以下的編程來實(shí)現(xiàn)。
    的頭像 發(fā)表于 01-10 10:28 ?1778次閱讀
    如何在<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是西門子推出的一款緊湊型、高性能的PLC(可編程邏輯控制器),廣泛應(yīng)用于各種工業(yè)自動(dòng)化領(lǐng)域。本教程將詳細(xì)介紹S7-200 Smart的編程方法,包括硬件配置、軟
    的頭像 發(fā)表于 12-14 11:11 ?2682次閱讀

    s7-200字符串賦值指令

    S7-200是一款由西門子公司生產(chǎn)的可編程控制器(PLC),被廣泛應(yīng)用于工業(yè)自動(dòng)化領(lǐng)域。在S7-200的指令集中,字符串賦值指令是一項(xiàng)重要的功能,它用于將字符串值賦給指定的變量。本文將詳細(xì)介紹
    的頭像 發(fā)表于 12-08 14:44 ?1802次閱讀

    西門子S7-200 SMART PLC計(jì)數(shù)器指令介紹

    計(jì)數(shù)器的功能是對(duì)輸入脈沖進(jìn)行計(jì)數(shù)。S7-200系列PLC有三種類型的計(jì)數(shù)器
    的頭像 發(fā)表于 11-29 14:15 ?1.9w次閱讀
    西門子<b class='flag-5'>S7-200</b> <b class='flag-5'>SMART</b> PLC計(jì)數(shù)器指令介紹

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

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

    西門子S7-200 SMART V2.8版本優(yōu)勢(shì)分析

    西門子S7-200 SMART V2.8全新版本發(fā)布,功能大大增強(qiáng),性價(jià)比進(jìn)一步提升!200 SMART系列PLC作為一款小型高性價(jià)比的PLC,在泵站、一體化設(shè)備、成套設(shè)備等小型項(xiàng)目中
    發(fā)表于 11-17 10:59 ?4166次閱讀
    西門子<b class='flag-5'>S7-200</b> <b class='flag-5'>SMART</b> V2.8版本優(yōu)勢(shì)分析

    西門子S7-200 SMART PLC編程軟元件介紹

    模擬量輸入映像寄存器與模擬量輸出映像寄存器。西門子S7-200 Smart系列PLC的CPU為模擬量信號(hào)輸入端/輸出端開辟的一個(gè)存儲(chǔ)區(qū)。
    發(fā)表于 11-08 10:29 ?2979次閱讀
    西門子<b class='flag-5'>S7-200</b> <b class='flag-5'>SMART</b> PLC編程軟元件介紹

    S7-200 SMART與調(diào)試助手之間TCP通信

    S7-200 SMART 在 CPU 硬件固件及編程軟件版本均升級(jí)到 V2.2 之后才開始支持開放式通信。編程軟件版本低于V2.2,無(wú) Open User Communication 庫(kù)指令;硬件固件低于 V2.2,硬件不支持開
    的頭像 發(fā)表于 10-29 17:25 ?981次閱讀
    <b class='flag-5'>S7-200</b> <b class='flag-5'>SMART</b>與調(diào)試助手<b class='flag-5'>之間</b><b class='flag-5'>TCP</b><b class='flag-5'>通信</b>