如何基於PPI協議實現兩個plc之間通信
第一、硬件連接
下圖是S7-200通信端口端口定義入下圖所示,PPI通信建立在485的硬件基礎上,因此需要製作一根至少包含一對雙絞線的屏蔽線,兩端分別接DB9頭子的3腳和8腳,屏蔽層接DB9頭子的金屬外殼。如果實在找不到雙絞線自己也可以找兩根單根線,自己絞一下,但是隻限於臨時用正式產品不建議用。
兩(liang) 個(ge) PLC之間距離不能太遠,最好不要超過50米,如果超過的話最好使用中繼器,可以采購200配套的中繼器,也可以自己從(cong) 某寶上買(mai) 。
第二、合理分配CPU地址
PPI通信要求PPI網絡內(nei) 每個(ge) CPU具有不同地址,Micro/WIN默認為(wei) 0,CPU默認為(wei) 2,因此建議主PLC的地址設置為(wei) 2,從(cong) PLC地址依次設置為(wei) 11、12、13……依次類推。
第三、正確初始化
通過初始化特殊寄存器SMB30,將主CPU端口0配置為(wei) PPI主站模式,同時將數據緩存區清零。
配置時隻需要關(guan) 心最低兩(liang) 位即可,即mm,其他的都配置成零就行了。2就是PPI主站模式。
從(cong) 站配置成PPI從(cong) 站模式,即配置成2。
第四、正確準備數據
數據必須按照規定將相應的數據填入緩衝(chong) 區,數據格式如下所示。例如數據發送緩衝(chong) 區為(wei) VB200,那麽(me) VB200就是狀態字,不需要填寫(xie) ,用於(yu) 讀取指令執行的狀態。VB201為(wei) 目標從(cong) 站的地址,VB202到VB205時從(cong) 站目標地址,VB206為(wei) 數據長度,如果是寫(xie) 指令就是希望寫(xie) 的字節數,如果是讀指令就是希望讀回來數據的長度。VB207及以後是數據區。對NETR,執行NETR指令後,從(cong) 遠程站讀到的數據放在這個(ge) 數據區。對NETW,執行NETW指令前,要發送到遠程站的數據放在這個(ge) 數據區。
第五、適時調用收發指令
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資源。