如何基于PPI協議實現兩個plc之間通信
第一、硬件連接
下圖是S7-200通信端口端口定義入下圖所示,PPI通信建立在485的硬件基礎上,因此需要制作一根至少包含一對雙絞線的屏蔽線,兩端分別接DB9頭子的3腳和8腳,屏蔽層接DB9頭子的金屬外殼。如果實在找不到雙絞線自己也可以找兩根單根線,自己絞一下,但是只限于臨時用正式產品不建議用。
兩個PLC之間距離不能太遠,最好不要超過50米,如果超過的話最好使用中繼器,可以采購200配套的中繼器,也可以自己從某寶上買。
第二、合理分配CPU地址
PPI通信要求PPI網絡內每個CPU具有不同地址,Micro/WIN默認為0,CPU默認為2,因此建議主PLC的地址設置為2,從PLC地址依次設置為11、12、13……依次類推。
第三、正確初始化
通過初始化特殊寄存器SMB30,將主CPU端口0配置為PPI主站模式,同時將數據緩存區清零。
配置時只需要關心最低兩位即可,即mm,其他的都配置成零就行了。2就是PPI主站模式。
從站配置成PPI從站模式,即配置成2。
第四、正確準備數據
數據必須按照規定將相應的數據填入緩沖區,數據格式如下所示。例如數據發送緩沖區為VB200,那么VB200就是狀態字,不需要填寫,用于讀取指令執行的狀態。VB201為目標從站的地址,VB202到VB205時從站目標地址,VB206為數據長度,如果是寫指令就是希望寫的字節數,如果是讀指令就是希望讀回來數據的長度。VB207及以后是數據區。對NETR,執行NETR指令后,從遠程站讀到的數據放在這個數據區。對NETW,執行NETW指令前,要發送到遠程站的數據放在這個數據區。
第五、適時調用收發指令
PPI通信指令只有兩條,分別是:網絡讀和網絡寫,調用也很簡單,只需要指定本次讀寫己方的端口和數據緩沖區地址。
為了減少數據交換造成CPU資源的過度浪費,不建議每個循環周期都調用通信指令。可以根據需要進行指令調用,進行數據交換,如果無法找到合適的指令觸發條件,可以使用定時器進行周期調用。
為了保證數據的實時性,建議采用定時中斷,在中斷事件中調用通信指令。
第六,正確進行指令調用
使用PPI通信注意事項
1、硬件接線時,DB9頭子,3腳對3腳,8腳對8腳。線纜采用雙絞線,盡量使用屏蔽線,長度不要超過50m,超過50m需要使用中繼器。
2、千萬不要每個CPU掃描周期調用讀寫指令,否則會對過多占用CPU資源。