西門子S7-200和S7-300之間的MPI通信
S7-200和S7-300之間的MPI通信
S7-200 PLC與S7-300 PLC之間采用MPI通訊方式時,S7-200 PLC中不需要編寫任何與通訊有關的程序,只需要將要交換的數據整理到一個連續(xù)的V 存儲區(qū)當中即可,而S7-300 PLC中需要在組織塊OB1(或是定時中斷組織塊OB35)當中調用系統功能X_GET(SFC67)和X_PUT(SFC68),以實現S7-200 PLC與S7-300 PLC之間的通訊。調用SFC67和SFC68時VAR_ADDR參數填寫S7-200的數據地址區(qū),由于S7-200的數據區(qū)為v區(qū),這里需填寫 P#DB1.DBX×× BYTE n 對應的就是S7200 V存儲區(qū)當中VB××到VB(××+n)的數據區(qū)。例如交換的數據存在S7-200中VB50到VB59這10個字節(jié)當中,VAR_ADDR參數應為 P#DB1.DBX50.0 BYTE 10.
首先根據S7-300的硬件配置,在STEP7當中組態(tài)S7-300站并且下載,注意S7-200和S7-300出廠默認的MPI地址都是2,所以必須修改其中一個PLC的站地址,例子程序當中將S7-300 MPI地址設定為2,S7-200地址設定3,另外要分別將S7-300和S7-200的通訊速率設定一致,可設為9.6K,19.2K,187.5K三 種波特率,例子程序當中選用了19.2K的速率。
S7-200 PLC中通過系統塊定義自身的MPI地址和波特率,參考下圖:
圖1 S7-200 設置MPI地址
S7-300 PLC修改MPI地址可以參考下圖:
圖2 S7-300 設置MPI地址
例子程序在OB1當中調用數據讀寫功能塊:SFC67和SFC68,如下圖:
圖3 程序編寫
分別在STEP7 MicroWin32 和STEP7當中監(jiān)視S7-200和S7-300 PLC當中的數據,數據監(jiān)視界面如下:
圖4 S7-200監(jiān)控結果
圖5 S7-300監(jiān)控結果
通過CP5611,STEP7 MicroWin32, Set PG/PC Interface可以讀取S7200和S7300的站地址,如下圖:
圖6 CP5611診斷結果(站地址0為進行編程的計算機)
圖7 使用STEP7 MicroWin32診斷結果
注意事項
1 雖然MPI的波特率可以達到12M,但是受到S7-200通信能力的限制,所以可設為9.6K,19.2K,187.5K三 種波特率。
2 如果PPI或者MPI的通信距離超過50m,需要加中繼器;如果中繼器之間沒有任何站點的情況下,遠距離可為1000米。
3 MPI不能與作為PPI主站的S7-200PLC通信。