AB PLC LOGIX 5000控制器之間通過MSG實現通信



前言:AB PLC控制器系列很多,主要分為小型MicroLogix和Micro800系列、中型CompactLogix系列、大型ControlLogix系列,而大、中型又統稱為LOGIX 5000控制器。在項目實行過程中,控制器之間數據交互是經常涉及到的課題,LOGIX 5000控制器之間數據交互主要有兩種方式,一是通過MSG指令,二是生產者/消費者標簽。今天,本文介紹的是第一種方式,而選用的控制器為CompactLogix與ControlLogix控制器,非常具有代表性,希望能幫助有需要的朋友。



一、實現功能

1. CompactLogix控制器:1769-L33ERM,IP地址:192.168.1.20
2. ControlLogix控制器:1756-L72+1756-EN2TR,IP地址:192.168.1.10
3. 網絡連接:1769-L33ERM與1756-L72通過網線或交換機連接
4. 實現功能:兩台控制器之間通過MSG指令實現數據交互

 


二、軟件環境

1. 操作系統:Windows7 旗艦版 SP1 64位
2. 編程軟件:Studio 5000 V30.00.00
3. 通信軟件:RSLinx Classic Gateway 3.90.00



三、MSG編程(在CompactLogix端實現)

1. 打開Studio 5000軟件,新建項目名稱為“CMP”,控制器選擇1769-L33ERM,版本為30,如下圖所示,已經創建好的項目.


2. 在項目CMP的控制器標簽,新建4個標簽:
(1) MSG_Rd,數據類型MESSAGE,從1756-L72中讀取數據的通信指令結構體;
(2) MSG_Wr,數據類型MESSAGE,把數據寫到1756-L72的通信指令結構體;
(3) Read_tag,數據類型DINT[5],存儲從1756-L72讀取的數據;
(4) Write_tag,數據類型DINT[5],把這五個數據發送到1756-L72.


3. 再次打開Studio 5000軟件,新建項目名稱為“CTL”,控制器選擇1756-L72,添加以太網通信模塊1756-EN2TR,命名為EN2T, 並在控制器標簽里面創建2個標簽,Write_tag,Read_tag,數據類型均為DINT[5],將程序下載到控制器並在線.


4. 在EXCEL中,編制數據通信協議表,這步很重要,尤其是大量數據交互時,編程通信表讓數據清晰明了,建議大家在程序開發時,養成多用EXCEL的習慣.

 

5. 在項目CMP(1769-L33ERM)里面調用MSG指令,編寫讀取、發送數據的程序,詳見下圖.

 

 

6. 指令MSG_Rd用來1769-L33ERM讀取1756-L72里面的數據,詳細配置見下圖:
(1) Message Type:選擇CIP DataTable Read,從另一控制器中讀取數據;
(2) Source Element:源對象,填寫通信伙伴中的標簽起始地址,本文為1756-L72中的Write_tag[0];
(3) Destination Element:目標對象,填寫本地控制器存儲數據標簽起始地址,本文為1769-L33ERM中的Read_tag[0];
(4) Number of Element:交換數據的數量,本文為5,注意:Source 和 Destination 的類型必須匹配;
(5) 通信路徑:2,192.168.1.10,1,0


7. 指令MSG_Wr用於1769-L33ERM發送數據到1756-L72,詳細配置見下圖:

 

8. 功能測試,將項目CMP中的程序下載並在線,在CMP標簽Write_tag寫入數據,控制器CTL中的標簽Read_tag數據立即發生變化與之相同;在CTL標簽Write_tag寫入數據,控制器CMP中的標簽Read_tag數據立即發生變化與之相同,說明通信成功.



四、MSG編程(在ControlLogix端實現)

1. 在項目CTL(1756-L72)控制器,再創建2個標簽:
(1) MSG_Rd,數據類型MESSAGE,從1769-L33ERM中讀取數據的通信指令結構體;
(2) MSG_Wr,數據類型MESSAGE,把數據寫到1769-L33ERM的通信指令結構體.

 

2. 編寫通信程序,調用MSG指令,與在項目CMP的指令完全相同.


3. 指令MSG_Rd用來讀取1769-L33ERM數據,詳細配置見下圖:
(1) Message Type等參數與CMP程序配置相同,請參考前面表述;
(2) 通信路徑:EN2T,2,192.168.1.20,1,0

 

4. 指令MSG_Wr用來發送數據到1769-L33ERM,其中Message Type等參數與CMP程序配置相同,請參考前面表述,通信路徑:EN2T,2,192.168.1.20,1,0(注意:符號為英文符號,前面也是).

 

5. 功能測試,將項目CTL中的程序下載並在線,在CMP標簽Write_tag寫入數據,控制器CTL中的標簽Read_tag數據立即發生變化與之相同;在CTL標簽Write_tag寫入數據,控制器CMP中的標簽Read_tag數據立即發生變化與之相同,說明通信成功.





五、資料下載

1. MSG指令的應用非常廣泛,不僅限於LOGIX 5000控制器之間進行數據交換,同樣適用於LOGIX 5000控制器與其他系列控制器.

 

2. MSG指令,其難點在於通信路徑的設置,本文案例就非常典型.

 

3. 如果,你需要了解更多關於MSG指令的詳細說明,請下載以下官方資料:
• 《1756-rm003_-zh-p》,LOGIX 5000通用指令集,中文,2018年3月
• 《1756-pm012_-en-p》,LOGIX 5000 Message指令,英文,2018年12月

4. 下載方法:點擊左下角“閱讀原文”,提取碼:9zx3


結語:綜上所述,本文詳細介紹了AB LOGIX 5000控制器之間通過MSG指令交互數據,而通信伙伴選用的具體代表性的CompactLogix與ContolLogix控制器,其難點在於通信路徑的配置,大家在配置的時候需要注意。另外,CompactLogix控制之間、ContolLogix控制器之間進行數據交互,其MSG通信路徑的配置,請自行研究,不在累述。


________________________________________
【AB PLC工作室】
微信公眾號ID:abseme

堅持原創 注重實用
________________________________________

如果本文,對您有一點幫助或啟示。
請分享給更多的朋友,對小編以示鼓勵,謝謝!

 


免責聲明!

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



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