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