1 引 言
圖1 系統組成
打開硬體配置軟體,插入cpu 315-2dp及profibus網絡,設置dp主站參數:分配dp地址為2,診斷地址2047,波特率設為1.5mbps,操作模式設為dp主站模式。在dp網絡上依次插入現場io模塊et200b,分配總線地址(21~26),診斷地址(2028~2023),輸入輸出i(q)映像地址。在profibus網絡上依次插入變頻器vlt2800,分配總線地址(3~17),地址(2046~2032)。選擇變頻器ppo協議類型1控制字,過程映像piq地址由4ax和2ax兩個id模塊組成。現場io模塊和變頻器的dp地址設置必須與plc的硬體組態分配的地址一致,診斷地址用於診斷dp從站的工作狀態。
2 ppo協議
ppo協議就是參數過程數據處理的簡稱,ppo協議實現dp主站和智能從站之間的快速數據交換,同時實現過程數據和參數數據存取。ppo協議由參數字pcv和過程字pcd組成,ppo類型1協議結構見表1。
表1中,pca:參數號;ind:參數索引;pva:參數值;ctw:控制字;stw:狀態字;mrv:設定速度(單位為百分比);mav:實際速度。使用參數字pcv設定或讀取變頻器參數值;使用過程字pcd控制變頻器的啟停、速度設定、讀取變頻器的狀態、獲取輸出頻率。
丹佛斯vlt2800標準控制和狀態字見表2。
3 dp從站診斷
當dp系統啟動、或主站的故障組織塊ob82(ob86)檢測到dp從站發生錯誤(或使用手動診斷功能)時,主站必須及時獲得從站的狀態及故障信息。dp從站的診斷數據記錄的0~2位元組數據為從站的狀態信息,字節3以後的數據為從站的主站號、製造商id、及該設備狀態信息。
建立dp從站狀態共享數據塊db103,建立從站ng、ok狀態及診斷數據記錄rec數組變量,插入dp從站診斷程序功能塊fb102和數據塊db102。建立從站診斷dia_all、從站地址指針inx_sta、從站數目sta_qut、從站診斷首地址等變量,從站診斷請求dia_req、從站忙dia_busy、診斷返回值dia_ret、錯誤計數器err_cnt、從站診斷數據記錄dia_rec等靜態變量。
使用stl語言編寫診斷程序,便於使用地址寄存器ar1(ar2)編寫循環(條件跳轉)程序,流程圖見圖2所示。執行從站診斷時,從站診斷標誌置位,根據從站地址指針、從站診斷首地址計算出該從站的診斷地址,同時將錯誤計數器復位,從站診斷請求置位。調用系統功能塊sfc13讀取dp從站的診斷數據,dp診斷可能需要多次調用sfc13功能塊才能完成。從站診斷完成,從站忙標誌為0時,根據診斷返回值數值判斷該從站診斷是否正確完成。當發生錯誤時,錯誤計數器加1,繼續執行本從站診斷3次;當該從站診斷正確完成時,根據數據記錄數據和上述dp從站狀態信息表,判斷該從站處於ok或ng狀態,並將ok狀態、ng狀態、有用的診斷數據寫入從站狀態數據塊db103相關的數組中。