加入收藏 在線留言 聯系我們
            關注微信
            手機掃一掃 立刻聯系商家
            全國服務熱線17838383235
            公司新聞
            如何實現西門子S7-300PLC之間的MPI通訊?
            發布時間: 2024-04-06 14:26 更新時間: 2024-10-30 14:14

            學習PLC之間的通信是初學者的難題,如果有通信基礎還好,要是沒有一點基礎怎么入門呢?這里給大家幾個建議:


            1、初步了解PLC通信涉及到的基礎知識,這個時候沒必要精深的搞清楚所有問題。

            2、以手頭上有的實物練習,無論是PLC之間還是PLC與變頻器等其他儀表,也不要考慮使用什么協議,一個目的:先實操做通一個。

            3、根據第二步遇到的問題,反復琢磨,找資料、請教老師。一定要把實操中遇到的疑惑都解開。

            4、找另一種通信實操......






            MPI通信多可以在15個CPU之間實現,包括MPI全局通訊,單邊通訊和雙邊通訊三種方式。




            圖片

            MPI全局通訊(300PLC之間)



            MPI的全局通訊一個包多22個字節,多4個數據包(一個發送,一個接收算一個數據包)


            硬件的配置(在一個項目里面組態三個CPU):

            圖片


            注意在組態的時候建立的是MPI通訊,不是DP通訊。



            >>>>

            PLC1里進行硬件組態:











            >>>>

            在PLC3里進行硬件組態:



            和PLC2的CPU屬性設置相同,地址更改為3








            我們在PLC里面不用編輯通訊的程序,只需在PLC1里給MB0開始的22個字節賦值,在PLC2里給MB0開始的22個字節解壓使用即可。



            >>>>

            程序的下載步驟:



            1、先下載PLC1,使用編程電纜連接PLC1上的MPI接口



            2、下載完PLC1的項目程序后,我們開始下載PLC1的全局通訊的通訊信息




            3、下載PLC2,使用編程電纜連接PLC2上的MPI接口



            4、下載完PLC2的項目程序后,我們開始下載PLC2的全局通訊的通訊信息



            下載完成,連接上MPI通信電纜,測試通訊情況!




            圖片

            MPI單邊通訊(300的PLC和300的PLC)



            單邊通訊主要用在PLC與PLC之間的通訊,一個發送和接受多76個字節


            特別提示:因為通訊程序沒有必要每個掃描周期都運行,所以我們可以把通訊程序放到OB35(循環中斷)里面。


            下面我們開始單邊通訊300對300的編程,我們使用系統功能SFC68發送,SFC67接受。


            下面我們在PLC1里面進行編程:



            >>>>

            SFC68發送數據






            REQ:等于“1”的時候發送數據

            C0NT:保持通訊,(是否使用這個SFC68進行發送),常為“1”

            DEST_TD:通訊對方的地址

            VAR_ADDR:對方接收數據的的緩存區(把要發送的數據放到對方的什么地方)

            SD:本地需要發送的數據

            REST_VAL:錯誤代碼

            BUSY:完成位


            上圖中SFC68的意思為,當M1.0為“1”,且M1.1為“1”,時向MPI地址是3的PLC中發送M0.0開始的20個字節,存到對方DB1.DB1000.0開始的20個字節中去。




            >>>>

            SFC67接收數據



            同樣在標準庫中找到SFC67:




            >>>>

            SFC67接收信息



            REQ:等于“1”的時候發送數據

            C0NT:保持通訊,(是否使用這個SFC68進行發送),常為“1”

            DEST_TD:通訊對方的地址

            VAR_ADDR:對方存儲數據的緩存區(我們要從地方的什么地方取數據)
            REST_VAL:錯誤代碼

            BUSY:完成位

            RD:本地存儲信息的的地址(把對方的數據拿過來以后放到自己這邊的什么地方)


            上圖中SFC67的意思是:當M1.4為“1”,且M1.5為“1”,時把MPI地址是3的PLC中DB1.DBX2000.0開始的76個字節存到自己PLC里從M100.0開始的76個字節中。


            分別把PLC的程序下載到相應的CPU內,連接MPI通訊電纜測試。


            聯系方式

            • 電  話:17838383235
            • 經理:徐嘉泉
            • 手  機:17838383235
            • 微  信:17838383235