【概要】
S7-300 CPU集成了MPI通訊協議,通過MPI網絡可實現全局數據通訊,在PLC之間進行少量數據交換。全局數據通訊不需要額外的硬件和軟件,結構簡單,成本低。當我們僅需要在PLC之間交換少量的數據時,可以考慮選擇全局數據通訊。
一、解釋幾個概念
1、MPI
MPI(MUltiPoint Interface),即多點通訊接口,其符合Profibus RS485接口標準。MPI網絡的通訊速率為19.2kbit/s-12Mbit/s,S7-300通常默認設置為187.5kbit/s。
2、全局數據GD塊
MPI網上兩個或多個CPU共享的數據,分別定義在發送方和接收方的CPU存儲器中,根據用途分為發送GD塊和接收GD塊。全局數據可由位、字節、字、雙字以及相關區(數組)組成。
3、全局數據表(GD表):用於組態全局數據通訊。
4、全局數據包(GD包)
具有相同的Sender/Receiver的全局數據,可以集合成一個全局數據包(GD packer)一起發送。每個數據包用數據包號碼(GD packer number)來標識。一個全局數據包由一個或幾個GD組成,一個數據區佔用的空間為數據區內的字節數加上兩個頭部說明字節,比如:一個單獨的雙字佔(4+2)bytes;一個單獨的字佔(2+2)bytes;一個單獨的位也要佔用3個字節。S7-300一個全局數據包每次最多允許傳輸22字節(不包括頭部說明字節)的數據。
全局數據包最多不能超過24bytes。
5、全局數據環(GD環)
MPI網絡中,參與全局數據包交換的CPU構成全局數據環。每個全局數據環用數據環號碼(GD circle number)來標識。
GD 2.1.3 ===>> 2號全局數據環、1號全局數據包的3號數據。
S7-300的每個CPU最多可以參與4個不同的數據環,在一個MPI網絡上最多可以有15個CPU通過全局數據通訊來交換數據。
全局數據環有以下2種方式:
一對一方式:當GD環中僅有兩個CPU時,可以採用類全雙工點對點方式,不能有其他CPU參與,只有二者獨享;
一對多(最多四個):廣播方式,一個廣播,其他接收。
二、全局數據通訊的通訊機制
發送方CPU按照設定的掃描頻率自動的、週期的將GD塊的數據發送給接收方;接收方CPU則定期的接收數據。發送方在掃描循環週期結束時發送全局數據;接收方在掃描循環週期開始時接收全局數據。這樣,發送全局數據包中的數據,對於接收方來說是“透明的”。也就是說,發送GD包中的信號狀態會自動影響接收端的GD包;接收端對接收GD包的訪問相當於對發送端GD包的訪問。
三、全局數據通訊配置
1、如圖1所示,在新項目中組態4個S7-300站點,並分別定義其MPI地址。(組態過程略)
2、右鍵點擊MPI_GD網絡總線,選擇“定義全局數據”,如圖2、3所示。
3、按圖4所示步驟,配置參與GD通訊的CPU。所有參與GD通訊的CPU配置後,如圖5所示。
4、配置GD通訊
根據需要配置CPU之間的GD通訊,假設我們做如下配置:
station1分別和station2、station3直接配置成“一對一”通訊模式,station2、station3分別向station發送兩組數據,同時分別接收一組來自station1的數據。
同時將station1配置成“一對多”的廣播模式,station1廣播,station2、station3、station4均接收數據。
配置如下:
5、定義掃描速率和狀態信息
通過菜單命令“查看”->“掃描速率” 可以顯示並配置GD通訊的掃描速率,通過“查看”->“全局數據狀態”可以將GD通訊的狀態信息保存下來,供PLC查閱、處理。如圖7所示。
四、小結
配置好GD通訊,且編譯無誤後,就可以實現同一條MPI網絡中PLC之間的GD數據交換了,篇幅所限,具體的數據處理方法留待下一篇文章進行討論。
閱讀更多 塞北名駝 的文章