AB PLC LOGIX 5000控制器之间通过MSG实现通信
前言:AB PLC控制器系列很多,主要分為小型MicroLogix和Micro800系列、中型CompactLogix系列、大型ControlLogix系列,而大、中型又統(tǒng)稱為LOGIX 5000控制器。在項目實行過程中,控制器之間數(shù)據(jù)交互是經(jīng)常涉及到的課題,LOGIX 5000控制器之間數(shù)據(jù)交互主要有兩種方式,一是通過MSG指令,二是生產(chǎn)者/消費者標簽。今天,本文介紹的是第一種方式,而選用的控制器為CompactLogix與ControlLogix控制器,非常具有代表性,希望能幫助有需要的朋友。
一、實現(xiàn)功能
1. CompactLogix控制器:1769-L33ERM,IP地址:192.168.1.20
2. ControlLogix控制器:1756-L72+1756-EN2TR,IP地址:192.168.1.10
3. 網(wǎng)絡連接:1769-L33ERM與1756-L72通過網(wǎng)線或交換機連接
4. 實現(xiàn)功能:兩臺控制器之間通過MSG指令實現(xiàn)數(shù)據(jù)交互
二、軟件環(huán)境
1. 操作系統(tǒng):Windows7 旗艦版 SP1 64位
2. 編程軟件:Studio 5000 V30.00.00
3. 通信軟件:RSLinx Classic Gateway 3.90.00
三、MSG編程(在CompactLogix端實現(xiàn))
1. 打開Studio 5000軟件,新建項目名稱為“CMP”,控制器選擇1769-L33ERM,版本為30,如下圖所示,已經(jīng)創(chuàng)建好的項目.
2. 在項目CMP的控制器標簽,新建4個標簽:
(1) MSG_Rd,數(shù)據(jù)類型MESSAGE,從1756-L72中讀取數(shù)據(jù)的通信指令結構體;
(2) MSG_Wr,數(shù)據(jù)類型MESSAGE,把數(shù)據(jù)寫到1756-L72的通信指令結構體;
(3) Read_tag,數(shù)據(jù)類型DINT[5],存儲從1756-L72讀取的數(shù)據(jù);
(4) Write_tag,數(shù)據(jù)類型DINT[5],把這五個數(shù)據(jù)發(fā)送到1756-L72.
3. 再次打開Studio 5000軟件,新建項目名稱為“CTL”,控制器選擇1756-L72,添加以太網(wǎng)通信模塊1756-EN2TR,命名為EN2T, 并在控制器標簽里面創(chuàng)建2個標簽,Write_tag,Read_tag,數(shù)據(jù)類型均為DINT[5],將程序下載到控制器并在線.
4. 在EXCEL中,編制數(shù)據(jù)通信協(xié)議表,這步很重要,尤其是大量數(shù)據(jù)交互時,編程通信表讓數(shù)據(jù)清晰明了,建議大家在程序開發(fā)時,養(yǎng)成多用EXCEL的習慣.
5. 在項目CMP(1769-L33ERM)里面調(diào)用MSG指令,編寫讀取、發(fā)送數(shù)據(jù)的程序,詳見下圖.
6. 指令MSG_Rd用來1769-L33ERM讀取1756-L72里面的數(shù)據(jù),詳細配置見下圖:
(1) Message Type:選擇CIP DataTable Read,從另一控制器中讀取數(shù)據(jù);
(2) Source Element:源對象,填寫通信伙伴中的標簽起始地址,本文為1756-L72中的Write_tag[0];
(3) Destination Element:目標對象,填寫本地控制器存儲數(shù)據(jù)標簽起始地址,本文為1769-L33ERM中的Read_tag[0];
(4) Number of Element:交換數(shù)據(jù)的數(shù)量,本文為5,注意:Source 和 Destination 的類型必須匹配;
(5) 通信路徑:2,192.168.1.10,1,0
7. 指令MSG_Wr用于1769-L33ERM發(fā)送數(shù)據(jù)到1756-L72,詳細配置見下圖:
8. 功能測試,將項目CMP中的程序下載并在線,在CMP標簽Write_tag寫入數(shù)據(jù),控制器CTL中的標簽Read_tag數(shù)據(jù)立即發(fā)生變化與之相同;在CTL標簽Write_tag寫入數(shù)據(jù),控制器CMP中的標簽Read_tag數(shù)據(jù)立即發(fā)生變化與之相同,說明通信成功.
四、MSG編程(在ControlLogix端實現(xiàn))
1. 在項目CTL(1756-L72)控制器,再創(chuàng)建2個標簽:
(1) MSG_Rd,數(shù)據(jù)類型MESSAGE,從1769-L33ERM中讀取數(shù)據(jù)的通信指令結構體;
(2) MSG_Wr,數(shù)據(jù)類型MESSAGE,把數(shù)據(jù)寫到1769-L33ERM的通信指令結構體.
2. 編寫通信程序,調(diào)用MSG指令,與在項目CMP的指令完全相同.
3. 指令MSG_Rd用來讀取1769-L33ERM數(shù)據(jù),詳細配置見下圖:
(1) Message Type等參數(shù)與CMP程序配置相同,請參考前面表述;
(2) 通信路徑:EN2T,2,192.168.1.20,1,0
4. 指令MSG_Wr用來發(fā)送數(shù)據(jù)到1769-L33ERM,其中Message Type等參數(shù)與CMP程序配置相同,請參考前面表述,通信路徑:EN2T,2,192.168.1.20,1,0(注意:符號為英文符號,前面也是).
5. 功能測試,將項目CTL中的程序下載并在線,在CMP標簽Write_tag寫入數(shù)據(jù),控制器CTL中的標簽Read_tag數(shù)據(jù)立即發(fā)生變化與之相同;在CTL標簽Write_tag寫入數(shù)據(jù),控制器CMP中的標簽Read_tag數(shù)據(jù)立即發(fā)生變化與之相同,說明通信成功.
五、資料下載
1. MSG指令的應用非常廣泛,不僅限于LOGIX 5000控制器之間進行數(shù)據(jù)交換,同樣適用于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指令交互數(shù)據(jù),而通信伙伴選用的具體代表性的CompactLogix與ContolLogix控制器,其難點在于通信路徑的配置,大家在配置的時候需要注意。另外,CompactLogix控制之間、ContolLogix控制器之間進行數(shù)據(jù)交互,其MSG通信路徑的配置,請自行研究,不在累述。
________________________________________
【AB PLC工作室】
微信公眾號ID:abseme
堅持原創(chuàng) 注重實用
________________________________________
如果本文,對您有一點幫助或啟示。
請分享給更多的朋友,對小編以示鼓勵,謝謝!
總結
以上是生活随笔為你收集整理的AB PLC LOGIX 5000控制器之间通过MSG实现通信的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《魔兽世界怀旧服》秘银矿分布在哪 秘银矿
- 下一篇: 语音识别与 RNN-Transducer