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)用 ? 來(lái)源:機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 作者:機(jī)器人及PLC自動(dòng)化 ? 2022-03-28 14: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ù)中的TCP_CONNECT、TCP_SEND、TCP_RECV、DISCONNECT指令來(lái)實(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)連接操作完成且沒(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)詳見手冊(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)連接操作完成且沒(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)詳見手冊(cè)。如果指令置位 Busy 或 Done 輸出,Status 為零(無(wú)錯(cuò)誤)。

4、終止通訊連接

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

4cec38b4-ae0b-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)詳見手冊(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ī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 以太網(wǎng)
    +關(guān)注

    關(guān)注

    40

    文章

    5440

    瀏覽量

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

    關(guān)注

    8

    文章

    1372

    瀏覽量

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

    關(guān)注

    13

    文章

    408

    瀏覽量

    50480

原文標(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)推薦

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

    版本軟件 4、交換機(jī) 五口路由器 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實(shí)現(xiàn)<b class='flag-5'>S7</b>通訊演示

    西門子plc200編程實(shí)例詳解

    S7-200系列包括多種不同型號(hào)的CPU模塊和擴(kuò)展模塊,可以根據(jù)具體的應(yīng)用需求進(jìn)行選擇和配置。其主要特點(diǎn)包括:高性能的CPU、豐富的指令集、強(qiáng)大的網(wǎng)絡(luò)通信功能以及易于使用的編程軟件等。 在編程方面,西門子PLC S7-200
    的頭像 發(fā)表于 10-22 14:38 ?810次閱讀

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

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

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

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

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

    通過(guò)EG邊緣計(jì)算網(wǎng)關(guān),用戶可以輕松實(shí)現(xiàn)西門子S7-200 Smart PLC數(shù)據(jù)的采集,并將其轉(zhuǎn)換為標(biāo)準(zhǔn)Modbus協(xié)議輸出。這種跨協(xié)議的數(shù)據(jù)轉(zhuǎn)換方案極大簡(jiǎn)化了工業(yè)系統(tǒng)的集成,使不同品牌、不同協(xié)議
    的頭像 發(fā)表于 09-10 10:42 ?593次閱讀
    EG網(wǎng)關(guān)采集西門子<b class='flag-5'>S7-200smart</b>轉(zhuǎn)Modbus協(xié)議

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

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

    如何快速實(shí)現(xiàn)MODBUS TCP轉(zhuǎn)Profinet——泗博網(wǎng)關(guān)EPN-330

    上海泗博EPN-330是Modbus TCP轉(zhuǎn)PROFINET協(xié)議通信網(wǎng)關(guān),作為PROFINET從站,支持西門子S7-200 SMART /300 /400/1200/1500全系列P
    的頭像 發(fā)表于 08-07 17:38 ?366次閱讀
    如何快速實(shí)現(xiàn)MODBUS <b class='flag-5'>TCP</b>轉(zhuǎn)Profinet——泗博網(wǎng)關(guān)EPN-330

    S7-200指令庫(kù)

    S7-200庫(kù)文件是西門子旗下同款編程軟件的可調(diào)用數(shù)據(jù)庫(kù),可安裝也可直接覆蓋進(jìn)行使用。常用的數(shù)據(jù)庫(kù),簡(jiǎn)便方便調(diào)用。在PLC中調(diào)試中節(jié)省時(shí)間。
    發(fā)表于 07-23 12:29 ?7次下載

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

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

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

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

    西門子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è)置全面指南

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

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

    S7-1500與CP343-1之間TCP通信(TIA)配置過(guò)程

    SIMATIC S7- 1500 CPU集成了 PROFINET 接口,該接口除了具備連接 PROFINET總線通信功能,同時(shí)還可用于標(biāo)準(zhǔn)的 TCP 通信。
    的頭像 發(fā)表于 02-22 11:24 ?1835次閱讀
    <b class='flag-5'>S7</b>-1500與CP343-1<b class='flag-5'>之間</b>的<b class='flag-5'>TCP</b><b class='flag-5'>通信</b>(TIA)配置過(guò)程

    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ò)程。在本方案中采用了西門子PLC無(wú)線通訊終端DTD418M,作
    的頭像 發(fā)表于 01-24 08:58 ?1230次閱讀
    <b class='flag-5'>S7</b>-1500與多臺(tái)<b class='flag-5'>200SMART</b><b class='flag-5'>之間</b>無(wú)線以太網(wǎng)通訊搭建方法

    兩臺(tái)西門子S7-200 SMART PLC通過(guò)Modbus RTU協(xié)議通訊的流程簡(jiǎn)析

    PLC2臺(tái),分別是200SMART 的CR60和SR20;
    的頭像 發(fā)表于 01-12 10:05 ?3688次閱讀
    兩臺(tái)西門子<b class='flag-5'>S7-200</b> <b class='flag-5'>SMART</b> PLC通過(guò)Modbus RTU協(xié)議通訊的流程簡(jiǎn)析