基于VPC3的PROFIBUS-DP智能從站設計
軟件設計
本文引用地址:http://m.butianyuan.cn/article/116975.htm程序設計包括主程序和中斷程序,還有GSD文件的編制。
1.主程序設計
C8051和VPC3初始化程序放在主程序中,而且一定要放在I/O程序前。主程序流程圖如圖1所示。上電后,C8051首先進行初始化,設置RS232端定時器/計數(shù)器工作方式、設置波特率、中斷方式等,隨后VPC3進行初始化,以設置允許中斷、寫入從站識別號和地址、片內方式寄存器、診斷緩沖區(qū)、參數(shù)緩沖區(qū)、配置緩沖區(qū)、地址緩沖區(qū)、初始長度。
此時,VPC3下一個十分重要的步驟就是根據(jù)以上初始值求出各個緩沖區(qū)的指針及輔助緩沖區(qū)的指針,根據(jù)傳輸?shù)臄?shù)據(jù)長度,確定輸入緩沖區(qū)、輸出緩沖區(qū)及指針。主站檢查以上參數(shù)是否與配置的參數(shù)一致,只有雙方完全一致,從站才能進行配置,設置從站的輸入輸出字節(jié)數(shù)、診斷字節(jié)數(shù)和各類數(shù)據(jù)指針。然后,從站才能將配置好的數(shù)據(jù)同主站比較,只有雙方完全一致,從站才能通過DP狀態(tài)機與主站進行數(shù)交換。用戶設備通過I/O程序實現(xiàn)報文數(shù)據(jù)處理。
2.中斷程序設計
VPC3有14個中斷源,各中斷源無優(yōu)先級,主要是通過中斷屏蔽寄存器和中斷響應寄存器來實現(xiàn)中斷且共用一個中斷輸出。診斷分為外部診斷和狀態(tài)診斷,外部診斷必須在從第7個字節(jié)開始的單元寫入用戶數(shù)據(jù),狀態(tài)診斷則只要在第一字節(jié)寫入00H即可。VPC3定義從站地址較靈活,既可在組態(tài)時由主站設置又可通過自身軟件或是增設的硬件地址設置電路實現(xiàn)。根據(jù)OSI參考模型,F(xiàn)DL層規(guī)定了總線存取控制、數(shù)據(jù)安全性以及傳輸協(xié)議和報文的處理。DP標準規(guī)定了以下四類傳輸服務。SRD:發(fā)送和請求有應答的數(shù)(對DP和FMS),在一個報文循環(huán)中發(fā)送和接收數(shù)據(jù)。SDN:發(fā)送沒有應答的數(shù)據(jù)(對DP和FMS),廣播和有選擇廣播報文,即報文送達有選擇的一組節(jié)點。DP僅限于SRD和SDN服務。在SRD服務時,主站發(fā)送輸出數(shù)據(jù)到從站和接收輸入數(shù)據(jù)(若輸入數(shù)據(jù)存在于從站中),在規(guī)定的時間周期內應答。若從站是輸出設備,則用“E5H”的短應答。SDN服務是發(fā)送數(shù)據(jù)到規(guī)定的一組從站,可按照要求觸發(fā)SDN服務,對SDN報文沒有應答。
本程序設計采用中斷方式處理從站地址設定,檢查組態(tài)和參數(shù)報文是否正確。采用外部中斷INTO輸入,其入口地址為0003H。C51編譯器支持在C源程序中直接開發(fā)中斷程序,減輕了用匯編語言開發(fā)中斷程序的繁瑣過程。使用擴展屬性的函數(shù)語法定義void dps2_ind(void) interrupt 0 using 1調用外部中斷INTO,當外部中斷0被觸發(fā)時,將會執(zhí)行此中斷模塊中的函數(shù),在函數(shù)中有DPS2_GET_INDICATION()宏可以讀出響應的事件信息,并進行各個中斷事件的處理。中斷程序流程如圖2。
3.GSD文件編制
PROFIBUS設備具有不同的性能特征,特性的不同在于現(xiàn)有功能(即I/O信號的數(shù)量和診斷信息)的不同或
圖3 實物圖可能的總線參數(shù),例如波特率和時間的監(jiān)控不同。這些參數(shù)對每種設備類型和每家生產(chǎn)廠來說均各有差別,為達到PROFIBUS簡單的即插即用配置,這些特性均在電子數(shù)據(jù)單中具體說明,有時稱為設備數(shù)據(jù)庫文件或GSD文件。GSD文件是一種準確定義的格式描述,生產(chǎn)廠商對每種設備都有一個GSD文件。有了GSD文件后,將來用配置軟件組網(wǎng)時只要把設備的GSD文件拷貝到相應的目錄下,就可以方便地把此設備加到現(xiàn)場總線網(wǎng)絡中[4~5]。GSD文件的編制可用GSD文件編輯軟件,參考編輯軟件提供的模板進行修改即可。
結語
本文的研究內容作為山東省自然科學基金“工業(yè)網(wǎng)絡控制系統(tǒng)同步控制性能及控制策略研究”的重要組成部分,采用了價格較低的VPC3取代了西門子的SPC3,其3.3V的工作電壓具有更低的功耗。通過接口轉換電路和軟件設計實現(xiàn)自適應功能,即自動識別非總線設備的通訊參數(shù),同時利用高性能的8位單片機C8051實現(xiàn)了PROFIBUS-DP智能從站接口的開發(fā),使產(chǎn)品的設計具有更高的性價比,為該產(chǎn)品的國產(chǎn)化提供了一種方法。提供的軟硬件設計方法經(jīng)實踐可行,該產(chǎn)品已成功應用于與多家PLC和儀表的通訊網(wǎng)絡中。
評論