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