羅克韋爾PLC生產者和消費者——大話與PLC通訊的N種方式第七期

2019-10-08   李孟宦

寫在面前

說到羅克韋爾的通訊,生產者消費者這個詞相信大家一定不會陌生,在本部看前面的講解中,姐說了羅克韋爾的虛擬調試與仿真,羅克韋爾的軟體全家桶以及安全PLC等,並開放下載了許多資料和軟體(具體看文末往期推薦),今天我們來講一講生產者和消費者~

當一台機器與另一台機器,當一個工藝設備與另一台工藝設備對接時,都需要通訊,需要組態通訊路徑、規劃讀、寫數據。如果恰好你所使用的控制器,都是羅克韋爾自動化的Logix控制器,那麼恭喜你,使用生產者/消費者的方式會大大提高的你的效率、縮短你開發時間。1+1=2,就這麼簡單。

生產者標籤:可以被其他控制器使用,可以同時被多個控制器消費(接收)其數據,無需編程。

消費者標籤:接受生產者標籤產生的數據,其標籤類型必須和生產者一致,通過設置RPI時間決定數據更新的周期。

條件:

  • 都為Logix5000(Studio5000)控制器;如1769-L30ER,1756-L7X
  • 相同的網絡(比如EtherNet或者ControlNet,而不是EtherNet與ControlNet之間)

步驟:

1、建立生產者標籤」Produced_Tag」

  • 打開控制器,控制器名稱為Controller1,Controller1控制器標籤內,建立標籤

注意:只有在控制器標籤域裡面才能使用「生產者」

  • 在你規劃的標籤處右鍵,選擇Edit***Properties,輸入標籤名:Produced_Tag(例子),在「Type」處選擇:Produced(生產者)

  • 在選擇為Produced或者Consume後,「Conection」按鈕激活,進入設置」 Produced Tag Connection」菜單欄,在「Max Consumers」輸入消費(接收)生產者標籤數據的控制器數量。

2、在控制器2建立消費者標籤「Consumed_Tag」

  • 打開Logix5000編輯軟體,在」IO Configuration」裡面添加我們剛建的控制器1,Controller_1

  • 在控制器域新建標籤,輸入標籤Consumed_Tag,選擇type為Consumed。

注意:數據類型與我們要連接的生產者一致

  • 點擊connection按鈕,進入Consumed Tag connection,選擇控制器名稱Controller _1,輸入我們需要消費的生產者標籤「Produced_Tag」

  • 根據需要更改RPI時間(V28版本之前),默認20ms,點OK完成。

數據流向:控制器Controller_1內的「Produced_Tag」標籤數據à控制器Controller_2內的標籤「Consumed_Tag」,以及其他控制器建立的指向Controller_1的Produced_Tag標籤。。。。。。

同時,控制器Controller_2可以建立生產者標籤,供控制器Controller_1及其他控制器消費。

診斷:

在Rslogix5000 V17版本及以上,生產者/消費者標籤有自帶的狀態欄,只是在定義生產者/消費者標籤的時候,指向帶連結狀態的標籤即可,其他與上述標籤建立相同。

1、 新建數據結構體:

2、新建生產者標籤,數據類型選擇為剛建立的數據結構體

3、 在控制器2內建立相同標籤結構體,建立消費者標籤,類型為Consumed_Type

***.Sts.RunMode標籤位為運行位,一般為1

***.Produce_Tag.Sts.ConnectionFaulted一般為0

關鍵是Consumed_Tag.Sts.ConnectionFaulted,當標籤為為0代表正常;標籤位為1代表。。。你得檢查網絡了。

這樣,生產者標籤和消費者標籤無需任何額外編程,就可以開開心心的交流啦,簡單吧!

羅家小型機Micro800、MicroLogix

ConpactLogix/ControlLogix通訊需要通過MSG指令來實現了,一樣也很方便。

1、生產者、消費者都占用連接數:

  • 生產者占用的連接數為:消費者數量+1
  • 消費者占用連接數數量為:1

2、如果使用V24版本以前的控制器需要建立消費者標籤與新的CMX 5380, CMX5480, or CLX 5580控制器連結時,V24版本控制器無法在IO樹中添加到這些控制器,此時就需要用以前的控制器替代:

  • 如果您想通過新的控制器嵌入的乙太網埠,就可以用嵌入乙太網埠的CMX 5370控制器,比如1769-L36ERM替代;
  • 如果您想通過背板的乙太網埠建立連接,則可以通過5570控制器,比如1756-L71來替代。

3、V28版本之前和V28之後(包含)RPI時間設定有所不同,V28版本之前消費者標籤RPI時間可以自行設定,V28以後是根據建立的第一個消費者標籤的RPI時間自動設定。在低版本移植到高版本時需注意。

4、傳輸數據儘量小於500bytes,別問為什麼,問了我也不告訴你。

5、當「生產」多種類型數據時,將數據打包成結構體傳輸更優噢,每個生產者標籤被消費都是要占用連接數的。

關注微信公眾號:智能製造之家,申請加入【智能製造之家】技術群,和志同道合的朋友們共同打卡學習!

今天就到這裡啦~ ,如果各位看官喜歡的話,歡迎點擊右下角的「在看」,或轉發和收藏哦。(不要忘記文末彩蛋哦)

  • 對於文中所有使用的圖片,資料,下載連結中所包含的軟體,資料等,如有侵權,請告知刪除,謝謝。


往期推薦-(僅在微信公眾號有效)

WinCC系統的基本功能介紹——自動化工程師必備~

CODESYS軟體架構及產品分類

PTC Creo二次開發環境簡介(附Creo 6.0下載)

「2019世界智能製造十大科技進展」 入圍項目公示 ,有你心目中的產品嗎?

用慣了TIA Portal,Studio 5000,還有你不能不知道的CoDeSys

簡析西門子開放式用戶通信OUC和通信小結——大話與PLC通訊的N種方式第六期

玩Vmware虛擬機多年的工程師們,橋接模式、NAT、僅主機模式你們懂了嗎?| 詳解網絡模式

羅克韋爾AB全系列PLC產品介紹(附AB安全PLC資料下載)

PLC高級編程-SCL結構化控制語言(附官方用手冊和培訓資料下載)

達索MES——DELMIA Apriso FlexNet平台介紹(附Apriso database management 手冊)