基于VPC3的PROFIBUS-DP智能從站設計
此時(shí),VPC3下—個(gè)十分重要的步驟就是根據以上初始值求出各個(gè)緩沖區的指針及輔助緩沖區的指針,根據傳輸的數據長(cháng)度,確定輸入緩沖區、輸出緩沖區及指針。主站檢查以上參數是否與配置的參數一致,只有雙方完全一致,從站才能進(jìn)行配置,設置從站的輸入輸出字節數、診斷字節數和各類(lèi)數據指針。然后,從站才能將配置好的數據同主站比較,只有雙方完全一致,從站才能通過(guò)DP狀態(tài)機與主站進(jìn)行數交換。用戶(hù)設備通過(guò)I/O程序實(shí)現報文數據處理。
2.中斷程序設計
VPC3有14個(gè)中斷源,各中斷源無(wú)優(yōu)先級,主要是通過(guò)中斷屏蔽寄存器和中斷響應寄存器來(lái)實(shí)現中斷且共用一個(gè)中斷輸出。診斷分為外部診斷和狀態(tài)診斷,外部診斷必須在從第7個(gè)字節開(kāi)始的單元寫(xiě)入用戶(hù)數據,狀態(tài)診斷則只要在第—字節寫(xiě)入OOH即可。VPC3定義從站地址較靈活,既可在組態(tài)時(shí)由主站設置又可通過(guò)自身軟件或是增設的硬件地址設置電路實(shí)現。根據OSI參考模型,FDL層規定了總線(xiàn)存取控制、數據安全性以及傳輸協(xié)議和報文的處理。DP標準規定了以下四類(lèi)傳輸服務(wù)。SRD∶發(fā)送和請求有應答的數(對DP和PMS),在一個(gè)報文循環(huán)中發(fā)送和接收數據。SDN∶發(fā)送沒(méi)有應答的數據(對DP和PMS),廣播和有選擇廣播報文,即報文送達有選擇的一組節點(diǎn)。DP僅限于SRD和SDN服務(wù)。在SRD服務(wù)時(shí),主站發(fā)送輸出數據到從站和接收輸入數據(若輸入數據存在于從站中),在規定的時(shí)間周期內應答。若從站是輸出設備,則用“E5H”的短應笞。SDN服務(wù)是發(fā)送數據到規定的一組從站,可按照要求觸發(fā)SDN服務(wù),對SDN報文沒(méi)有應答。
本程序設計采用中斷方式處理從站地址設定,檢查組態(tài)和參數報文是否正確。采用外部中斷INTO輸入,其入口地址為0003H。C51編譯器支持在C源程序中直接開(kāi)發(fā)中斷程序,減輕了用匯編語(yǔ)言拜發(fā)中斷程序的繁瑣過(guò)程。便用擴展屬性的函數語(yǔ)法定義void dps2_ind(void)interrupt ouslng 1調用外部中斷INTO,當外部中斷0被觸發(fā)時(shí),將會(huì )執行此中斷模塊中的函數,在函數中有DPS2 GETINDICATION()宏可以讀出響應的事件信息,并進(jìn)行各個(gè)中斷事件的處理。中斷程序流程如圖2。
圖2中斷程序流程圖
評論