加入收藏 在線留言 聯系我們
        關注微信
        手機掃一掃 立刻聯系商家
        全國服務熱線13185520415
        公司新聞
        西門子S7-300/400 通過全局數據包通信
        發布時間: 2023-12-28 10:46 更新時間: 2024-11-21 08:00
        觀看西門子S7-300/400 通過全局數據包通信視頻

        1 全局數據包通信簡介對于PLC之間的數據交換,只關心數據的發送區和接收區,全局數據包的通信方式是在配PLC硬件的過程中,組態所要通信PLC站之間的發送區和接收區,不需要任何程序處理,這種通信方式只適合S7-300/300/400 PLC之間相互通信。下面將以舉例的方式介紹全局數據包通信,使用的軟硬件如下:所需硬件:CPU315-2DP,CPU416-2DP所需軟件:STEP7 V5.2 SP1 注意: TIA軟件平臺不再支持全局數據包通信方式2 全局數據包的配置1)首先打開編程軟件STEP7,建立一個新項目如MPI_GD,在此項目下插入兩個站STATION1/CPU416-2DP, STATION2/CPU315-2DP,分別組態硬件,插入CPU,配置MPI的站號和通信速率,在本例中MPI的站號分別設置為2號站和4號站,通信速率為187.5Kbit/S 。這些工作完成以后,可以組態數據的發送區和接收區。點擊項目名MPI_GD后出現STATION1,STATION2和MPI網,點擊MPI,再點擊菜單“Options”->“Define Global Date”進入組態畫面如圖1、2:圖1進入全局數據組態界面圖2 全局數據組態界面2) 插入所有需要通信的PLC站CPU雙擊GD ID右邊的CPU欄選擇需要通信PLC站的CPU。CPU欄總共有15列,這就意味者Zui多有15個CPU能夠參與通信。在每個CPU欄底下填上數據的發送區和接收區,例如:CPU416-2DP的發送區為DB1.DBB0~DB1.DBB21,可以填寫為DB1.DBB0:22  ,然后在菜單“edit”選擇“Sender”作為發送區。                                                                                                       CPU315-2DP的接收區為DB1.DBB0~21,可以填寫為DB1.DBB0:22。編譯存盤后,把組態數據分別下載到CPU中,這樣數據就可以相互交換了。發送接收數據區的設置參考圖3:圖3 設置通信區地址區可以為DB,M,I,Q,區,長度S7-300Zui大為22個字節,S7-400Zui大為54個字節。發送區與接收區應一致,所以在上例中通信區Zui大為22個字節。3 多個CPU通信了解多個CPU通信首先要了解GD ID,編譯以后,每行通信區都會有GD ID號,可以參考圖3為A:全局數據包的循環數,每一循環數表示和一個CPU通信,例如兩個S7-300CPU通信,發送與接收是一個循環,S7-400中三個CPU之間的發送與接收是一個循環,循環數與CPU有關,S7-300CPU Zui多為 4個,所以Zui多和4個CPU通信。S7-400CPU414-2DPZui多為 8個,S7-400CPU416-2DPZui多為 16個。B:全局數據包的個數。表示一個循環有幾個全局數據包,例如兩個S7站相互通信一個循環有兩個數據包。如圖4所示:圖4 一個循環兩個數據包C:一個數據包里的數據區數可以參考圖5: CPU315-2DP 發送4組數據到CPU416-2DP,4個數據區是一個數據包。從上面可以知道一個數據包Zui大為22個字節,在這種情況下每個額外的數據區占用兩個字節,所以數據量Zui大為16個字節。圖5 一個數據包里的數據區數對于A,B,C的介紹只是用于優化數據的接收區和發送區,減少CPU的通信負載,簡單應用可以不用考慮這些,GD ID編譯后自動生成。4 通信的診斷在多個CPU通信時,有時通信會中斷,是什么原因造成通信中斷?我們編譯完成后,在菜單“View”中點擊“Scan Rates”和“GD Status”可以掃描系數和狀態字。如圖6所示:圖6 通信診斷S R: 掃描頻率系數。如圖6 SR1.1 為225,表示發送更新時間為225×CPU循環時間。范圍為1~255。通信中斷的問題往往設置掃描時間過快??筛拇笠恍DS:每包數據的狀態字(雙字)??筛鶕顟B字編寫相應的錯誤處理程序,結構如下:第一位:發送區域長度錯誤。第二位:發送區數據塊不存在。第四位:全局數據包丟失。第五位:全局數據包語法錯誤。第六位:全局數據包數據對象丟失。第七位:發送區與接收區數據對象長度不一致。第八位:接收區長度錯誤。第九位:接收區數據塊不存在。第十二位:發送方從新啟動。第三十二位:接收區接收到新數據。GST:所有GDS 相“OR”的結果如果編程者使用CP5511/5611編程卡可以首先診斷一下連線是否可靠,如上例中S7-300 MPI地址是2,S7-400MPI地址是4,用CP卡連接到MPI網上(PROFIBUS接頭必須有編程口)可以直接讀出2,4號站,在“控制面板 ” ->  “PG/PC interface”      ->“ Diagnostics”->“read”讀出所以網上站號,如圖7所示:圖7 使用網卡診斷站號0號站位CP5611站號,如果沒有讀出2,4號站,說明連線有問題或MPI網傳輸速率不一致,可以把問題具體化。5 事件觸發的數據傳送如果需要控制數據的發送與接收,在某一事件,某一時刻,接收和發送所需要的數據,這時將用到事件觸發的數據傳送。這種通信方式通過調用CPU的系統功能SFC60 (GD_SND),SFC61(GD_RCV)來完成的,而且只有S7-400CPU支持,并且必須設置CPU的SR(掃描頻率)為0,可參考圖8全局數據的組態畫面:圖8 在S7-400CPU側的SR為0與上面作法相同編譯存盤后下載到相應的CPU中,然后在S7-400側中調用SFC60/61控制接收與發送。所需硬件:CPU315-2DP,CPU416-2DP。所需軟件:STEP7 V5.2 SP1CIRCLE_ID,BLOCK_ID參考GD A。B。C。例子中M1.1為1時CPU416接收CPU315的數據MB20~MB29放到MB40~MB49中,M1.0為1時CPU416發送數據MB60~MB69到CPU315MB60~MB69中。

        聯系方式

        • 電  話:13510737515
        • 聯系人:董海波
        • 手  機:13185520415
        • 微  信:13185520415