基于Profibus-DP的控制系統的通信互連
(2)數據交換原理
DP主站與DP從站的數據交換采用輪循方式,使用DP數據域中的接收緩沖區與發(fā)送緩沖區來(lái)完成。DP主站啟動(dòng)數據交換,將數據輸出到輸出緩沖區,并從輸入緩沖區將數據取回,其原理如圖2所示。
CPU和CP間的數據交換是通過(guò)在CPU循環(huán)中調用S7的DP_RECE和DP_SEND功能來(lái)實(shí)現的。其中,DP_RECE功能是接收由DP主站發(fā)送到從站CP的接收緩沖區的數據,然后把數據輸出至CPU指定的DP數據域。而DP_SEND則是把CPU中指定的DP數據域中需傳輸的數據傳送至CP的發(fā)送緩沖區,然后傳輸到DP主站。
(3)用戶(hù)程序
在S7 PLC中,CPU中的用戶(hù)數據域可以為過(guò)程映像、位寄存器以及數據塊,在本用戶(hù)程序中使用了數據塊。在S7用戶(hù)程序的Blocks目錄下,定義兩個(gè)數據塊DB1和DB2,分別用于存放接收和發(fā)送的數據,然后在循環(huán)執行的組織塊OB1中調用DP_RECE和DP_SEND功能。
當DP主站改變運行模式或崩潰時(shí),操作系統通過(guò)調用從站上的某個(gè)OB作出反應。如果從站上的這些OB丟失,則CPU會(huì )立即自動(dòng)地切換到STOP。因此為了防止這種情況,需在從站建立相關(guān)的OB。
當主站的CPU從RUN轉換到STOP時(shí),在從站的組織塊OB82(診斷中斷)將被調用。為防止CPU由于不存在OB82而停止,需在S7-300站的Blocks文件夾中插入組織塊OB82。
同理,當DP主站崩潰時(shí),在從站上將調用組織塊OB86(機架故障)。為了防止S7-300從站的CPU在這樣的情況下進(jìn)入STOP,需在S7-300站的Blocks文件夾中插入組織塊OB86。
評論