RS232與PROFIBUS現(xiàn)場(chǎng)總線接口單元的開發(fā)
圖 4-1 接口單元的硬件結(jié)構(gòu)
在上述硬件的基礎(chǔ)上,我們就可以著手開發(fā)從站單元的軟件,這里必須申明,上述的硬件結(jié)構(gòu)同樣支持主站,從站接口單元軟件包除包含PROFIBUS現(xiàn)場(chǎng)總線的物理層、鏈路層和應(yīng)用層外,還包括應(yīng)用層接口。整個(gè)軟件包由以下3 個(gè)模塊組成。
· 物理層,鏈路層和應(yīng)用層的協(xié)議軟件;
· 初始化設(shè)定,事件記錄和顯示模塊;
· 應(yīng)用層接口模塊。
下面對(duì)每個(gè)模塊的功能與結(jié)構(gòu)予以闡述。
5.1 協(xié)議軟件
由于所開發(fā)的接口單元在網(wǎng)絡(luò)中處于從站的位置,因此它沒有直接訪問總線權(quán)。協(xié)議軟件實(shí)現(xiàn)了所有FDL(Field bus Data Link)服務(wù)功能,它是映射應(yīng)用層FMS(Fieldbus Message Specification)服務(wù)所不可缺少的。總線參數(shù)諸如地址、波特率和槽時(shí)間等均可在協(xié)議安裝時(shí)由用戶設(shè)定。微處理器的計(jì)時(shí)器用于從站的空閑、超時(shí)和同步計(jì)時(shí)。報(bào)文的發(fā)送和接收是通過中斷進(jìn)行控制的。由于PROFIBUS總線的最高傳輸速率為500k Baud,在FDL層上,總是在收到報(bào)文的STOP字節(jié)標(biāo)志后,才對(duì)報(bào)文進(jìn)行處理的。在空?qǐng)?bào)文的情況下,處理過程需要800~900μS,一般情況下,處理過程需要1~4ms,例如初始化服務(wù)就需要4ms,因此,整個(gè)系統(tǒng)的槽時(shí)間最少需要5-10ms。應(yīng)用層模塊包括FMS(Fieldbus Message Specification)和LLI(LowL evel Interface)兩個(gè)子層模塊。FMS模塊的主要功能是對(duì)來自ALI(Aplication Layer Interface)的服務(wù)請(qǐng)求進(jìn)行處理并將其傳送給PROFIBUS現(xiàn)場(chǎng)總線網(wǎng)絡(luò);同時(shí),對(duì)來自網(wǎng)絡(luò)底層的報(bào)文進(jìn)行譯碼處理并將其傳送給ALI。通常,從站接口單元的應(yīng)用層軟件只實(shí)現(xiàn)了FMS所規(guī)定的部分服務(wù)功能,但可以根據(jù)用戶的需要進(jìn)行有選擇性的擴(kuò)充。除規(guī)定的上下文管理服務(wù)(初啟、異常終止、拒收等)外,一般還包括變量存取服務(wù)(讀、寫、情況匯報(bào)等)、事件管理服務(wù)(事件通知及確認(rèn)事件通知)和對(duì)象目錄管理服務(wù)。雖然象事件管理服務(wù)等并不是從站必須具有的服務(wù)功能,但考慮到實(shí)際應(yīng)用的需要,在LLI子層模塊內(nèi),允許從站具有一定的主動(dòng)性,因?yàn)檫@樣避開了令牌管理機(jī)制的限制,在從站內(nèi)實(shí)現(xiàn)比在主站內(nèi)實(shí)現(xiàn)具有更大的方便性和靈活性。從站一定限度的主動(dòng)性是通過附加功能塊來實(shí)現(xiàn)的。如果從站接到主站的輪詢請(qǐng)求,它將主動(dòng)為主站提供必要的服務(wù)。不過,在這種情況下,只有那些超越FMS規(guī)定的服務(wù)功能才是有效的。
5.2 初始化設(shè)定,事件記錄和顯示模塊
為了方便用戶安裝從站單元,在關(guān)閉PROFIBUS/RS232的情況下,用戶可以通過RS232接口用PC機(jī)對(duì)其進(jìn)行初始化。初始化設(shè)定模塊完成必要的參數(shù)設(shè)置和事件管理,并在ZPRAM內(nèi)設(shè)置通信關(guān)系表和總線參數(shù)。事件記錄模塊主要完成對(duì)過去一定數(shù)量的事件進(jìn)行跟蹤記錄,比如RS232和RS485通信錯(cuò)誤(奇偶校驗(yàn)錯(cuò)誤、幀錯(cuò)誤和溢出)及其發(fā)生時(shí)間。顯示模塊負(fù)責(zé)通過LED和數(shù)顯對(duì)總線和從站單元的狀態(tài)進(jìn)行顯示。
5.3 應(yīng)用層接口模塊
應(yīng)用層接口負(fù)責(zé)把實(shí)際現(xiàn)場(chǎng)對(duì)象映射為PROFIBUS能辨認(rèn)的通信對(duì)象,并把服務(wù)請(qǐng)求發(fā)送給通信系統(tǒng)。
6 結(jié)束語
針對(duì)現(xiàn)存現(xiàn)場(chǎng)設(shè)備大多只具有RS232通信接口,為使它們能以節(jié)點(diǎn)的方式與現(xiàn)場(chǎng)總線連接,本文以PROFIBUS現(xiàn)場(chǎng)總線為例,設(shè)計(jì)開發(fā)了一種從站接口單元。在實(shí)際中,用它對(duì)多臺(tái)擁用MPDC型驅(qū)動(dòng)器(具有RS232接口)的鉆床控制系統(tǒng)進(jìn)行了改造,完成了預(yù)定的通信和控制功能,取得了滿意的效果。筆者相信,這對(duì)在原有設(shè)備的基礎(chǔ)上實(shí)現(xiàn)現(xiàn)場(chǎng)總線分布式控制具有重要參考意義。
評(píng)論