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