MPI(多點接口)是西門子內部運用的通訊協議,物理層為RS-485。經過MPI網絡的S7根本通訊,S7-300能夠用體系功用X_GET和X_PUT來讀、寫S7-200的存儲區,最多可讀、寫76字節的數據,S7-200不需要編寫通訊程序。其長處是運用plc自帶的RS-485通訊接口,不需要添加通訊用的硬件,編程簡略,簡單完成。
1.通訊參數的設置
用體系塊設置CPU 224在MPI網絡中的站地址為3。為了便利下載和監控,將S7-200、S7-300和計算機的通訊速率均設置為19.2 kbit/s。需要將體系塊下載到CPU,設置的參數才會起作用。
組態時將CPU 315-2DP連接到MPI網絡上,設置MPI站地址為2。將設置的參數下載到CPU 315-2DP。
2.CPU 315-2DP讀寫CPU 224的V區的編程#p#分頁標題#e#
在CPU 315-2DP的OB35中調用SFC 68“X_PUT”,將本站的DB 1的76字節數據發送到通訊同伴的DB 1的DBB100~DBB175,即CPU 224的VB100~VB175。調用SFC 67“X_GET”,讀取CPU 224的VB200~VB275(即DB 1的DBB200~DBB275)中的數據,將它們寄存到DB 2。履行OB35的時刻距離為默許的100ms。
下面是CPU 315-2DP的循環中止安排塊OB35的程序:
程序段 1:將本站的DB1中的數據寫入CPU 224的#p#分頁標題#e#V區
CALL "X_PUT"
REQ :=TRUE
CONT :=TRUE
DEST_ID :=W#16#3 //S7-200的MPI地址
VAR_ADDR:=P#DB1.DBX100.0 BYTE 76 //S7-200要寫入數據的VB100~VB175
SD :=P#DB1.DBX0.0 BYTE 76 //寄存本站要發送的數據的地址區
RET_VAL :=MW2
BUSY :=M0.1
程序段 2:讀取CPU 224的V區的數據,保存到本站的DB 2
CALL "X_GET"
REQ :=TRUE
CONT :=TRUE
DEST_ID :=W#16#3
#p#分頁標題#e# VAR_ADDR:= P#DB1.DBX200.0 BYTE 76 //要讀取S7-200的VB200~VB275
RET_VAL :=MW4
BUSY :=M0.3
RD := P#DB2.DBX0.0 BYTE 76 //保存讀取的數據的地址區
為了驗證通訊是否完成,在初始化程序OB100將數據塊DB 1的76字節數據發送區的字預置為W#16#3333,將DB 2的76字節數據接納區復位為0。
3.CPU 224的程序
為了驗證通訊是否完成,在CPU 224的OB1中,在第一個掃描周期將發送數據區VW204~VW274預置為16#2222,將接納數據區VW100~VW174清零。
LD SM0.1
FILL #p#分頁標題#e#16#2222, VW204, 38
FILL 16#0, VW100, 38
能夠用CPU 315-2DP的變量表和CPU 224的狀態表來監督參加通訊的存儲區。
我第1次做試驗的時分,很順暢地一下就成功了。總的感覺是只需組態和編程沒問題,通訊很簡單完成。