發布日期:2022-04-26 點擊率:56 品牌:西門子_Siemens
問:我有一個改造項目新系統的313CPLC需要從老系統上用MpI通訊讀取一個模擬量和16個數字量的數據,現在問題是用定義全局數據通訊還是在新系統plc中用sfc67和sfc68通訊,是不是編程通訊比全局數據通訊速度快更穩定?請高手指點。(還要問一句如果用編程通訊的話怎么把定義好的全局數據給刪除掉)如果不用全局數據的話,用編程,兩個plc在組態里用不用連?是不是只用設置一下地址就行了吧?
答:全局數據通信是PLC之間進行的不需要編程通過MPI接口在CPU間循環地交換少量數據,當過程映像被刷新時,在循環掃描檢測點上進行數據交換;而無組態的連接的MPI通信(編程通信)通過調用SFC67和SFC68來實現,MPI無組態連接就是MPI通信時,不需要組態,只要編寫通信程序即可實現通信,PLC之間可以采用雙邊編程通信和單邊編程通信方式,你這里應該是采用單邊編程通信方式,因為CPU313C需要從老系統上用MpI通訊讀取一個模擬量和16個數字量的數據,只要在CPU313C上進行編程就可以實現數據交換,編程通信要比全局數據傳輸的數據量要大,速度更快;
你首先必須把兩個PLC之間的MPI端口連接起來,設定主站CPU313C的MPI通信參數(波特率187.5kbit/s)和主站的MP地址如“3”,不能與老的PLC的MPI地址重復,把兩個站的波特率設定一樣,各自下載到PLC中;因為你只想老系統上用MpI通訊讀取一個模擬量和16個數字量的數據,在CPU313C中單邊編程,在讀取數據區只要指定對方的PLC的MPI地址和數據區就可以了。
X_PUT(SFC68)為發送數據的指令,通過此指令將數據寫入不在同一個本地S7站中的通信伙伴,其中DEST_ID為對方的MPI地址(這里指你的老系統PLC的MPI地址)和VAR_ADDR為對方的數據區,SD為本地數據區,必須保證SD參數定義的數據長度和數據類型與通信伙伴上VAR_ADDR一致;
X_GET(SFC67)為接收數據的指令,可以從本地站S7站以外的通信伙伴(這里指老系統上PLC站)中讀取數據,其中參數DEST_ID和VAR_ADDR分別指對方的MPI地址和對方的數據區,RD為本機的數據區必須保證RD參數定義的接收區(CPU313C)至少和由VAR_ADDR參數定義的要讀取的區域一樣大,而且類型必須相匹配。
如果不想要全局數據通信,只要在硬件組態界面中選擇菜單Options(選項)/DefineGlobalData“(定義全局數據)界面中,打開全局變量發送和接收組態,斷口連接,執行保存編譯,下載到PLC就可以了。
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV