PPI通信定義(yi)
PPI協議是西門子S7-200PLC之間交換信息的專(zhuan) 用協議,PPI協議是一種點對點協議,它隻定義(yi) 了一次通信中的主從(cong) 問題,西門子編程軟件與(yu) CPU進行通信同樣使用PPI協議,同樣下載時也要用PPI線纜。今天我們(men) 介紹如何基於(yu) PPI協議實現兩(liang) 個(ge) CPU之間進行數據交換。
基於(yu) PPI協議實現兩(liang) 個(ge) PLC的通信
第一步:硬件接線
圖片所示S7-200通信端口的端口定義(yi) 。PPI通信基於(yu) 485的硬件。因此,必須需要包含至少一對雙絞線的屏蔽電纜,並且兩(liang) 端分別連接到DB9頭3腳和8腳。兩(liang) 台S7-200PLC距離不建議超過50米,如遇特殊情況在50米以上,需要使用配套的中繼器進行連接。


第二步:CPU地址分配
PPI通信要求PPI網絡中的每個(ge) CPU都有不同的地址,Micro/WIN默認為(wei) 0,CPU默認為(wei) 2,因此,建議將主PLC的地址設置為(wei) 2,並將PLC地址設置為(wei) 按順序設置為(wei) 11,12,13,依此類推。
第三步:初始化
通過初始化特殊寄存器SMB30,將主CPU端口0配置為(wei) PPI主站模式,同時將數據緩存區清零。

配置時隻需要看最低兩(liang) 位即可,即mm,其他的都配置成零就行了。2就是PPI主站模式。

從(cong) 站配置成PPI從(cong) 站模式,即配置成2。

第四步:準備數據
必須根據規定將數據填入緩衝(chong) 區,數據格式如,如果數據傳(chuan) 輸緩衝(chong) 區是VB200,則VB200是狀態字,不需要填寫(xie) ,用於(yu) 讀取指令執行的狀態。VB201是目標從(cong) 機的地址,VB202到VB205的時候是從(cong) 機目標地址,VB206是數據長度,如果是寫(xie) 命令則是你要寫(xie) 的字節數,如果是讀命令,你想要的讀取數據的長度。VB207是數據區域。對於(yu) NETR,在執行NETR指令後,從(cong) 遠程站讀取的數據將放在此數據區中。對於(yu) NETW,在執行NETW指令之前,要發送到遠程站的數據放在該數據區中。

第五步、調用收發指令
PPI通信指令隻有兩(liang) 條,分別是:網絡讀和網絡寫(xie) ,調用也很簡單,隻需要指定本次讀寫(xie) 己方的端口和數據緩衝(chong) 區地址。

為(wei) 了減少由數據交換引起的CPU資源的過度浪費,不建議每個(ge) 周期調用通信命令。可以根據需要調用指令來交換數據。如果找不到適當的指令觸發條件,可以使用定時器進行周期調用。為(wei) 了保證數據的實時性,建議采用定時中斷,在中斷事件中調用通信指令。
第六步,指令調用

使用PPI通信注意事項
1)硬件接線時,DB9頭子,3腳對3腳,8腳對8腳。線纜采用雙絞線,盡量使用屏蔽線,長度不要超過50m,超過50m需要使用中繼器。
2)千萬(wan) 不要每個(ge) CPU掃描周期調用讀寫(xie) 指令,否則會(hui) 對過多占用CPU資源。