PROFIBUS-DP接口開(kāi)發(fā)技術(shù)研究和應用
1 引言
現場(chǎng)總線(xiàn)被譽(yù)為自動(dòng)化領(lǐng)域的計算機局域網(wǎng),是自動(dòng)化領(lǐng)域的研究熱點(diǎn)[1]。PROFIBUS-DP是應用在現場(chǎng)自動(dòng)化儀表和設備領(lǐng)域的一種主要的現場(chǎng)總線(xiàn)并且已經(jīng)成為國際電工委員會(huì )制定的國際標準之一(IEC61158 TYPE3)和中國國家標準(GB/T 20540-2006)?,F場(chǎng)總線(xiàn)技術(shù)是電子技術(shù),通信技術(shù),智能儀表技術(shù)和自動(dòng)控制技術(shù)相互結合的產(chǎn)物[2]。
PROFIBUS-DP接口的開(kāi)發(fā)包括硬件部分、軟件部分和電子設備數據 GSD文件部分。
2 基于 PROFIBUS-DP的自動(dòng)化系統的構建
因為是開(kāi)發(fā) PROFIBUS-DP接口,所以總體結構較為簡(jiǎn)單和實(shí)用??傮w體系結構如圖 1所示。主站和從站通過(guò) PROFIBUS專(zhuān)用網(wǎng)線(xiàn)組成一個(gè)單主站 PROFIBUS系統。主站由計算機和SST公司的總線(xiàn)卡 5136-PFB-PCI組成;現場(chǎng)設備(圖中是智能控制器)和本文開(kāi)發(fā)的從站總線(xiàn)接口卡組成 PROFIBUS-DP現場(chǎng)智能設備,作為 PROFIBUS-DP從站。圖中的智能控制器、變頻器和泵共同構成閉環(huán)系統。本文重點(diǎn)介紹總線(xiàn)接口卡的開(kāi)發(fā)。
3 PROFIBUS-DP接口開(kāi)發(fā)重點(diǎn)和難點(diǎn)在于:實(shí)現狀態(tài)機和服務(wù)訪(fǎng)問(wèn)點(diǎn)。
3.1開(kāi)發(fā)方案分析、比較和和選擇 利用單片機的方案需要理解協(xié)議的大部分細節,實(shí)現的 PROFIBUS-DP站的傳輸速率受單片機晶振的限制,根本無(wú)法達到最大傳輸速率12Mbit/s。
通信專(zhuān)用芯片集成了 PROFIBUS-DP協(xié)議和狀態(tài)機,并且給出了具體的服務(wù)訪(fǎng)問(wèn)點(diǎn);使用專(zhuān)用芯片開(kāi)發(fā) PROFIBUS-DP總線(xiàn)接口卡,不再需要考慮的協(xié)議大部分細節,重點(diǎn)是熟練使用專(zhuān)用芯片。
與利用單片機的實(shí)現方案比較,使用專(zhuān)用芯片可大量地節約開(kāi)發(fā)時(shí)間和成本,傳輸速率可以達到12Mbit/s。因此,本文使用專(zhuān)用芯片 SPC3進(jìn)行總線(xiàn)接口卡的開(kāi)發(fā)。
3.2 SPC3功能介紹 [4]SPC3基本上集成了完整的 PROFIBUS-DP協(xié)議。 SPC3集成有 1.5K字節的RAM,方式寄存器,狀態(tài)寄存器,中斷控制器,看門(mén)狗定時(shí)器(保護監控定時(shí)器)和各種緩沖區;能夠自動(dòng)地識別 9.6K到 12M的波特率。微順序控制器控制著(zhù) SPC3整個(gè)處理過(guò)程??偩€(xiàn)定時(shí)器直接控制串行總線(xiàn)上的總線(xiàn)時(shí)間。
SPC3包括如下的服務(wù)訪(fǎng)問(wèn)點(diǎn)(服務(wù)):缺省SAP(讀寫(xiě)數據交換),SAP55(改變站地址),SAP56(讀輸入),SAP57(讀輸出),SAP58(向 DP從站發(fā)控制命令),SAP59(讀組態(tài)數據),SAP60(讀從站診斷信息),SAP61(發(fā)送參數設置數據),SAP62(校驗組態(tài)數據)。
3.3硬件設計主要是選用 RS485芯片和光耦芯片,如果從站對傳輸速率的要求可以低于 12M波特率,那么有性能指標稍低的 RS485芯片和光耦芯片。另外本文開(kāi)發(fā)的總線(xiàn)接口卡設計為可以選擇雙口 RAM或者 RS232接口將總線(xiàn)接口卡與現場(chǎng)設備連接。
3.4軟件設計
3.4.1 PROFIBUS-DP狀態(tài)機的實(shí)現
軟件設計依據是 SPC3中集成的 PROFIBUS-DP狀態(tài)機 [4],狀態(tài)機用來(lái)描述 PROFIBUS-DP站在每種情況下的行為;如圖 2所示。
整個(gè)程序采用了結構化、模塊化的方法,依據 PROFIBUS-DP狀態(tài)機提供的流程進(jìn)行編寫(xiě)。按照對實(shí)時(shí)性的不同要求,各個(gè)服務(wù)訪(fǎng)問(wèn)點(diǎn)分別采用查詢(xún)或者中斷方式來(lái)實(shí)現。主函數主要是完成必要的初始化工作和用查詢(xún)方式實(shí)現服務(wù)訪(fǎng)問(wèn)點(diǎn)。中斷函數,主要是用中斷方式實(shí)現服務(wù)訪(fǎng)問(wèn)點(diǎn)。
3.4.2 PROFIBUS-DP系統主-從通訊中的實(shí)時(shí)性和時(shí)間確定性
令牌是在主站之間傳遞總線(xiàn)控制權的一種特殊報文。當某個(gè)主站得到令牌時(shí),它將在一個(gè)規定的時(shí)間段內獲得總線(xiàn)控制權,在這段時(shí)間內該主站可依照與主站或從站的關(guān)系表和所有的主站或從站發(fā)送所需要發(fā)送的幀,當該主站的控制時(shí)間結束時(shí),它就將令牌傳遞給下一個(gè)主站[3]。
在 PROFIBUS-DP主-從通訊中,如果在從站中有新的診斷信息,則在數據交換模式下,DP從站將以高優(yōu)先級的報文對主站響應,以此來(lái)通知主站;在其他情況下,從站都是以低優(yōu)先級的報文回答主站的??梢?jiàn),從站用診斷報文的方式發(fā)送數據相比其他情況,實(shí)時(shí)性要更好。
評論