AB PLC與西門子S7-1200/1500以太網通信


前言:在項目實際應用中,經常會遇到兩個不同廠家的PLC需要互聯進行通信交換數據,由於各自的通信協議有所不同,實現起來的難度較大,通常的做法是借助第三方的網關。本文介紹的是AB PLC與西門子S7-1200/1500直接互聯,不借助網關,通過編程方式實現以太網通信。

非誠勿擾】:本工作室提供AB PLC、西門子PLC兩端的TCP通信源代碼程序,以及技術支持服務,不過是付費的,詳情可通過:公眾號留言,或加微信oness918咨詢,或在淘寶小店購買:https://shop360942370.taobao.com/

 

一、實際項目

已正式上線的某項目,1台西門子CPU S7-1200與2台AB CPU 1769-L18ER,直接通過開放式TCP協議進行通信交換數據。

 

二、AB PLC端

1.  Socket接口

  • Logix5000控制器使用Socket接口,通過EerthNet/IP模塊與不支持EerthNet/IP應用程序協議的以太網設備(如條形碼掃描儀、RFID讀卡器或其他標准以太網設備)進行通信。

  • Logix5000控制器程序通過MSG指令與Socket對象通信,對Socket對象的MSG請求與大多數計算機操作系統中的Socket API調用類似,Socket對象服務允許您打開連接、接受傳入連接、發送數據和接收數據。

2.  支持Socket應用的模塊或CPU

  • 1756-EN2T

  • 1756-EN2TR

  • 1756-EN2F

  • 1756-EN3TR

  • 5370(新),5380,5580 Controllers

3.  TCP通信協議流程

(1) TCP客端戶建立TCP通信流程

 

(2) TCP服務端建立TCP通信流程

 

4.  MSG編程

(1) 建立Socket,即建立一個Socket編程對象,MSG類型選擇CIP Generic.

 

(2) 打開連接,讓S7-1200能連接到該Socket,Service類型選擇OpenConnetion.

 

 (3) 接受連接,從該Socket連接到S7-1200,Service類型選擇AcceptConnetion.

 

 (4) 從Scoket讀取數據,即從該接口接受S7-1200發送過來的數據,Service類型選擇ReadSocket.

 

 (5) 從Scoket發送數據,即從該接口發送數據到S7-1200,Service類型選擇WriteSocket.

 

 (6) 刪除Scoket,通信完成后需要釋放該Scoket接口,Service類型選擇DeleteSocket.

 

(7) 在RSLogix 5000 v20.01中編寫通信程序.

 

(8) TCP通信程序代碼,已進行AOI封裝,直接調用即可。

 

(9) 數據測試,成功發送數據到S7-1200,成功接收S7-1200發送過來的數據。

 

三、S7-1200/1500端

 (1)在博途v14中,編寫通信程序,定義通信端口、交換的數據等。

 

 (2) 數據測試,成功發送數據到AB PLC,成功接收AB PC發送過來的數據。

 

四、商品詳情

 (1) AB PLC和S7-1200/1500通信源代碼(無加密,完全開源);

 (2) AB PLC和西門子S7-1200/1500通信程序詳細說明(DPF文檔);

 (3) 通信測試工具NetAssit.exe;

 (4) 提供技術支持。

 

 

結束語:

支持Socket編程的AB CPU以及以太網模塊,不僅支持與西門子S7-1200/1500直接連接通過TCP協議交互數據,而且還能與其他支持TCP協議的設備或軟件進行數據交互。這樣省去了網關,大大的節省了項目成本。

 

-- 公眾號abseMe:堅持原創,注重實用

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM