日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> plc工業軟件使用 >> 正文

STEP 7-MicroWIN SMART西門子S7-200SMART PLC之間的TCP通訊設置及例程

作者:佚名    文章來源:網絡    點擊數:    更新時間:2024/2/11

軟件使用STEP 7-MicroWIN SMART

TCP 協議通訊

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

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

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

西門子plc開放式用戶通訊庫 

圖1.開放式用戶通訊庫

 

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

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

只可從主程序或中斷例程中調用庫函數,但不可同時從這兩個程序中調用。

所需條件:

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

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

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

所完成的通訊任務:

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

S7-200 SMART 客戶端編程

1、設置本機IP地址

在客戶端設置IP地址為192.168.0.101

設置IP地址 

圖2.設置IP地址

2、建立TCP連接

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

STEP7軟件下調用TCP_CONNECT指令 

圖3.調用TCP_CONNECT指令

指令的參數

輸入參數:

EN :使能輸入

Req:沿觸發

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

            FALSE=被動連接(服務器)

ConnID:連接ID為連接標識符,可能范圍為0-65534。

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

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

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

                  本地端口號的規則如下:

  • 有效端口號范圍為 1 到 49151。
  • 不能使用端口號 20、21、25、80、102、135、161、162、443以及34962至34964。這些端口具有特定用途。
  • 建議采用的端口號范圍為 2000 到 5000。
  • 對于被動連接,本地端口號必須唯一(不重復)。

輸出參數:

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

Busy: 當連接操作正在進行時,指令置位 Busy 輸出。

Error:當連接操作完成但發生錯誤時,指令置位 Error 輸出。       

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

3、調用發送數據指令TCP_SEND

調用TCP_SEND指令發送以VB0為起始,數據長度為DataLen長度的數據發送到連接ID為1指定的遠程設備。

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

調用TCP_SEND指令 

圖4.調用TCP_SEND指令

指令的參數

輸入參數:

EN :使能輸入

Req:沿觸發

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

DataLen :DataLen 是要發送的字節數(1 到 1024)。

DataPtr:DataPtr 是指向待發送數據的指針。

輸出參數:

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

Busy: 當連接操作正在進行時,指令置位 Busy 輸出。

Error:當連接操作完成但發生錯誤時,指令置位 Error 輸出。       

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

4、終止通訊連接

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

調用DISCONNECT指令 

圖5.調用DISCONNECT指令

參數說明:

輸入參數

EN :使能

Req:沿觸發指令。

輸出參數:

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

Busy: 當連接操作正在進行時,指令置位 Busy 輸出。

Error:當連接操作完成但發生錯誤時,指令置位 Error 輸出。       

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

5、分配庫存儲區

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

庫存儲器 

圖6.庫存儲器

在彈出的選項卡中設置庫指令數據區:

庫存儲器分配地址 

圖7.庫存儲器分配地址

S7-200 SMART 服務器端編程

1、設置本機IP地址

設置IP地址為192.168.0.102

STEP7軟件里面設置plc本機IP地址 

圖8.設置本機IP地址

2、建立TCP連接

調用TCP_CONNECT指令建立TCP連接。設置連接伙伴地址為192.168.0.101,遠端端口為5000,本地端口為2001,連接標識ID為1。利用SM0.0常閉點使能Active,設置為被動連接。

調用TCP_CONNECT指令 

圖9.調用TCP_CONNECT指令

3、接收數據

調用TCP_RECV指令接收指定ID連接的的數據。接收的緩沖區長度為MaxLen,數據接收緩沖區以VB2000為起始。

調用TCP_RECV指令 

圖11.調用TCP_RECV指令

監控結果

其中客戶端的VW1000是發送的數據長度,服務器端的vw1000是接收的數據長度。

.監控結果 

圖12.監控結果

TCP例程

為了更好地理解 TCP的編程,可參考下面的例程。

1. 該例程使用 STEP 7-Micro/WIN SMART 編寫。

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

TCP_Client 客戶端和TCP_Server 服務器 例程 www.tuo13886.net.cn/Article/UploadFiles/202402/2024021121420541.zip

注意:

此指令庫/程序的作者和擁有者對于該軟件的功能性和兼容性不負任何責任。使用該軟件的風險完全由用戶自行承擔。由于它是免費的,所以不提供任何擔保,錯誤糾正和熱線支持,用戶不必為 此聯系西門子技術支持與服務部門。

Tags:TCP通訊,SMART,西門子plc  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
最新推薦
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢