基于ProfiBus的電動(dòng)執(zhí)行器控制系統(tǒng)研究

2013-06-29 孫宇 北京航空航天大學(xué)

  介紹了具有ProfiBus現(xiàn)場(chǎng)總線接口的電動(dòng)執(zhí)行器控制系統(tǒng)的開發(fā)過程。在保留原執(zhí)行器功能的基礎(chǔ)上,增加了ProfiBus通信模塊,給出了軟硬件實(shí)現(xiàn)方案以及程序流程圖。該電動(dòng)執(zhí)行器控制系統(tǒng)支持組態(tài)軟件的接入并實(shí)現(xiàn)與其他現(xiàn)場(chǎng)總線產(chǎn)品的互連、互操作。

  現(xiàn)場(chǎng)總線是一種開放式、數(shù)字化、多點(diǎn)通信的底層控制網(wǎng)絡(luò),是一項(xiàng)集嵌入式、計(jì)算機(jī)、數(shù)字通信、網(wǎng)絡(luò)技術(shù)為一體的綜合技術(shù)。目前,世界上存在著幾十種總線技術(shù),其中,ProfiBus作為主流總線技術(shù)的代表占據(jù)了相當(dāng)一部分市場(chǎng)。

  隨著現(xiàn)代化工業(yè)水平的提高,現(xiàn)有的電動(dòng)執(zhí)行器控制系統(tǒng)在功能和使用上的缺點(diǎn)暴露得越來越明顯,如模擬量控制信號(hào)精度低且易受干擾,缺少及時(shí)的遠(yuǎn)程報(bào)警機(jī)制和故障處理方式,數(shù)字化程度不高,模擬量、開關(guān)量控制功能受約于連接線的數(shù)量等問題,不僅增加了產(chǎn)品成本,也增加了系統(tǒng)操作的復(fù)雜性。為了彌補(bǔ)現(xiàn)有電動(dòng)執(zhí)行器控制系統(tǒng)的不足之處,強(qiáng)化其控制功能,本文把ProfiBus現(xiàn)場(chǎng)總線技術(shù)應(yīng)用于電動(dòng)執(zhí)行器控制系統(tǒng)。

1、控制系統(tǒng)硬件設(shè)計(jì)

  本套控制系統(tǒng)主要完成以下功能:本地電動(dòng)執(zhí)行器控制,以及總線通信?刂葡到y(tǒng)結(jié)構(gòu)如圖1所示。

基于ProfiBus的電動(dòng)執(zhí)行器控制系統(tǒng)研究

圖1 控制系統(tǒng)結(jié)構(gòu)圖

1.1、執(zhí)行器控制單元結(jié)構(gòu)設(shè)計(jì)

  本文采用C8051F040作為控制系統(tǒng)的MCU。它內(nèi)含CIP-51的CPU內(nèi)核,兼容MCS-51指令集,具有64kB片內(nèi)Flash程序存儲(chǔ)器,4kRAM,128B的非易失性存儲(chǔ)器。C8051F040的片上資源豐富,外圍硬件電路連接簡(jiǎn)單,便于硬件調(diào)試,更縮短了設(shè)計(jì)開發(fā)周期,提高系統(tǒng)的可靠性和穩(wěn)定性。

  執(zhí)行器控制單元結(jié)構(gòu)分以下幾個(gè)大的模塊:位置采集電路,模擬量輸入電路、模擬量輸出電路、遠(yuǎn)程開關(guān)量輸入電路,按鍵輸入電路,電機(jī)驅(qū)動(dòng)電路,LCD、LED顯示電路。其中:位置采集電路實(shí)現(xiàn)執(zhí)行器當(dāng)前位置的采集;模擬量輸入電路實(shí)現(xiàn)遠(yuǎn)程控制用4~20mA信號(hào)的采集、轉(zhuǎn)換;模擬量輸出電路實(shí)現(xiàn)當(dāng)前電動(dòng)執(zhí)行器位置值向4~20mA模擬量的轉(zhuǎn)換;遠(yuǎn)程開關(guān)量輸入電路實(shí)現(xiàn)遠(yuǎn)程控制狀態(tài)的采集;按鍵輸入電路負(fù)責(zé)采集本地按鍵控制;電機(jī)驅(qū)動(dòng)電路用于驅(qū)動(dòng)電動(dòng)執(zhí)行器;LCD、LED顯示電路用于當(dāng)前位置、控制類型等信息的顯示。

1.2、ProfiBus通信電路設(shè)計(jì)

  ProfiBus-DP是一個(gè)開放的、與制造商無關(guān)的標(biāo)準(zhǔn),任何人都可以獲得這個(gè)標(biāo)準(zhǔn)并設(shè)計(jì)各自的ProfiBus-DP設(shè)備。不過通過這種方法構(gòu)成DP接口,除了物理層以外的協(xié)議都要通過軟件來完成,軟件編程工作量大,可靠性不易受到保障,通信速度也受到限制。本文采用SIEMENS公司提供的SPC3(SIEMENS ProfiBus Controller,3rd generation)ASIC接口芯片來開發(fā)ProfiBus-DP接口。SPC3中集成了(RS-485),數(shù)據(jù)鏈路層、DP從站用戶接口以及部分現(xiàn)場(chǎng)總線管理(FMA),與其相連的MCU只需要少量的軟件工作就可以實(shí)現(xiàn)ProfiBus-DP智能從站的通信功能,大大縮短了系統(tǒng)的開發(fā)周期。SPC3與MCU通過數(shù)據(jù)地址總線進(jìn)行數(shù)據(jù)交換,本文采用數(shù)據(jù)地址線復(fù)用方式,SPC3的AB8~AB10接地,AB0~AB7接收高八位地址,DB0~DB7為低八位地址與數(shù)據(jù)復(fù)用的總線,ALE、XWR、XRD,連接MCU的ALE,WR、RD,控制SPC3的讀寫。SPC3中斷源共用一個(gè)外部中斷XINT,觸發(fā)MCU的外部中斷INT0。ProfiBus-DP物理層介質(zhì)選用屏蔽雙絞線,驅(qū)動(dòng)芯片采用SN75LS176。SN75LS176與SPC3的接口包括Rxd、Txd和發(fā)送使能DE,并通過6N137隔離。SN75LS176的接收使能端RE直接接地以保證全部接收。此外,采用單色LED與SPC3的XDATAEXCH相連,用來指示SPC3工作狀態(tài),撥碼開關(guān)用于設(shè)置從站地址。ProfiBus通信電路結(jié)構(gòu)如圖2所示。

基于ProfiBus的電動(dòng)執(zhí)行器控制系統(tǒng)研究

圖2 ProfiBus通信電路結(jié)構(gòu)

2、控制系統(tǒng)軟件設(shè)計(jì)

2.1、ProfiBus協(xié)議棧的實(shí)現(xiàn)

  SPC3中集成了完整的ProfiBus-DP狀態(tài)機(jī),在很大程度上減化了ProfiBus協(xié)議棧的軟件開發(fā)周期。SPC3具有如下特點(diǎn):

  (1)可以獨(dú)立處理ProfiBus-DP通信協(xié)議;

  (2)微序列器控制著整個(gè)SPC3的工作過程。在芯片進(jìn)入通信之前,要用外接的MCU對(duì)其參數(shù)寄存器、方式寄存器進(jìn)行必要的設(shè)置;

  (3)可自動(dòng)建立ProfiBus-DP通信的服務(wù)存取點(diǎn),不同的報(bào)文對(duì)應(yīng)不同的緩沖區(qū):

  (4)支持多個(gè)中斷,具有中斷屏蔽和中斷指示功能,多個(gè)中斷共享一個(gè)外部中斷;

  (5)能夠自動(dòng)識(shí)別9。6kb/s~12Mb/s總線比特率。SPC3的內(nèi)部集成了1。5k的雙端口RAM,地址為000H~5FFH。內(nèi)部RAM以8字節(jié)為一個(gè)單元,共分為192個(gè)段。本控制系統(tǒng)中,將SPC3當(dāng)作一個(gè)MCU的外部RAM,通過數(shù)據(jù)地址總線來進(jìn)行寄存器的讀寫,達(dá)到MCU對(duì)SPC3的控制目的。

  RAM空間按功能分為處理器參數(shù)區(qū)、組織參數(shù)區(qū)、DP緩沖區(qū)三個(gè)區(qū)域。其中:

  (1)處理器參數(shù)區(qū)寄存器包括:從站最小延遲時(shí)間寄存器、內(nèi)部集成看門狗寄存器、中斷寄存器以及狀態(tài)寄存器等。

  (2)組織參數(shù)區(qū)用于設(shè)置DP緩沖區(qū)中各個(gè)緩沖塊的長(zhǎng)度、指針(首地址)。這些長(zhǎng)度、指針的設(shè)置必須在SPC3離線情況下完成。在運(yùn)行狀態(tài)下,除了Dout_Buf和Din_Buf的長(zhǎng)度可變以外,其他的指針和長(zhǎng)度都不可變。

  (3)DP緩沖區(qū)是DP數(shù)據(jù)的緩沖區(qū),包括3個(gè)DP輸出緩沖塊3個(gè)DP輸入緩沖塊、2個(gè)診斷緩沖塊、2個(gè)輔助緩沖塊、設(shè)置參數(shù)緩沖塊、通信接口配置緩沖塊等。

  SPC3能夠完成DP從站的通信功能,從站的MCU只需要完成SPC3的初始化以及處理相應(yīng)的應(yīng)答報(bào)文。在DP模式下,SPC3提供如下的服務(wù)存取點(diǎn):

  DefaultSAP-數(shù)據(jù)交換服務(wù);

  SAP55-設(shè)置從站地址(Set_Slave_Add);

  SAP56-讀DP輸入(Read_Input);

  SAP57-讀DP輸出(Read_Output);

  SAP58-全局控制命令(Global_Control);

  SAP59-讀接口配置(Get_Config);

  SAP60-讀從站診斷(Slave_Diag);

  SAP61-設(shè)置參數(shù)(Set_Param);

  SAP62-通信接口配置檢查(Check_Config)。

  ProfiBus-DP系統(tǒng)從站通信狀態(tài)機(jī)如圖3所示。

基于ProfiBus的電動(dòng)執(zhí)行器控制系統(tǒng)研究

圖3 ProfiBus-DP系統(tǒng)從站通信狀態(tài)機(jī)

  SPC3中集成了ProfiBus-DP的完整協(xié)議以及DP狀態(tài)機(jī),并支持波特率自搜索,與其相連的MCU只需要少量的軟件工作就可以實(shí)現(xiàn)ProfiBus-DP智能從站的通信功能,而不需要參與其狀態(tài)機(jī)。MCU的具體工作包括:

  SPC3的初始化,spc3init();

  對(duì)SPC3接收的數(shù)據(jù)進(jìn)行處理,outdataincept();

  將要發(fā)送的數(shù)據(jù)寫入SPC3,indatasend();

  處理故障診斷,diagmodule();

  響應(yīng)SPC3中斷,dpint()interrupt0。

2.2、主程序流程

基于ProfiBus的電動(dòng)執(zhí)行器控制系統(tǒng)研究

圖4 程序流程圖

  控制系統(tǒng)程序流程如圖4所示。上電之后,系統(tǒng)首先進(jìn)行MCU的初始化,包括系統(tǒng)時(shí)鐘、ADC、DAC,定時(shí)器等資源的配置。然后,MCU開始初始化SPC3,并等待SPC3進(jìn)入數(shù)據(jù)交換。如果等待超時(shí)或者SPC3已經(jīng)進(jìn)入數(shù)據(jù)交換狀態(tài),則開始循環(huán)程序。若系統(tǒng)未發(fā)生不可恢復(fù)的通信錯(cuò)誤,將依次進(jìn)行:SPC3診斷、處理總線數(shù)據(jù)、模擬量采集、菜單處理、錯(cuò)誤檢測(cè)、執(zhí)行機(jī)構(gòu)命令、開關(guān)量輸出,否則,不進(jìn)行總線數(shù)據(jù)的處理,總線功能不可用。

3、組網(wǎng)與測(cè)試

  當(dāng)今對(duì)現(xiàn)場(chǎng)總線的研究多以從站開發(fā)為主,而采用功能強(qiáng)大的PLC作為主站設(shè)備,結(jié)合配套軟件或第三方組態(tài)軟件,將自行研發(fā)的從站設(shè)備于主站相連,組成現(xiàn)場(chǎng)總線網(wǎng)絡(luò)。圖5為本文控制系統(tǒng)組網(wǎng)環(huán)境。

基于ProfiBus的電動(dòng)執(zhí)行器控制系統(tǒng)研究

圖5 系統(tǒng)組網(wǎng)環(huán)境

3.1、ProfiBus組網(wǎng)

  ProfiBus現(xiàn)場(chǎng)總線組網(wǎng)環(huán)境所有傳輸介質(zhì)和設(shè)備接插頭均符合協(xié)議標(biāo)準(zhǔn),主站設(shè)備采用SIEMENS的S7-300系列PLC上的ProfiBus-DP模塊,從站設(shè)備為本控制系統(tǒng)所驅(qū)動(dòng)的電動(dòng)閥門。另外,為了能夠搭建一個(gè)更接近實(shí)際工作情況的測(cè)試系統(tǒng),本文把第三方組態(tài)軟件“組態(tài)王6。53”與PLC連接,開發(fā)建立了一個(gè)從監(jiān)控軟件到現(xiàn)場(chǎng)總線的典型工業(yè)控制應(yīng)用環(huán)境。在ProfiBus網(wǎng)絡(luò)中,PLC的CPU存儲(chǔ)器中變量的變化直接映射了設(shè)備間的I/O通信狀態(tài)。通過“組態(tài)王”與PLC的通信,結(jié)合上位機(jī)監(jiān)控界面,可以實(shí)時(shí)反映網(wǎng)絡(luò)通信是否流暢,以及直觀方便地設(shè)置控制命令,觀察閥門控制器的功能實(shí)現(xiàn)情況。系統(tǒng)監(jiān)控系統(tǒng)運(yùn)行界面如圖6所示。

基于ProfiBus的電動(dòng)執(zhí)行器控制系統(tǒng)研究

圖6 ProfiBus總線系統(tǒng)監(jiān)控界面

3.2、系統(tǒng)運(yùn)行測(cè)試

  通過長(zhǎng)時(shí)間的運(yùn)行測(cè)試,本系統(tǒng)運(yùn)行情況良好,實(shí)時(shí)性、可靠性能夠滿足工業(yè)現(xiàn)場(chǎng)需求,測(cè)試結(jié)果如表1所示。

表1 ProfiBus組網(wǎng)運(yùn)行測(cè)試結(jié)果

基于ProfiBus的電動(dòng)執(zhí)行器控制系統(tǒng)研究

  由以上測(cè)試結(jié)果可以看出,本文設(shè)計(jì)的電動(dòng)執(zhí)行器控制系統(tǒng)能夠正確識(shí)別ProfiBus總線波特率,并完成總線數(shù)據(jù)交換功能,實(shí)現(xiàn)控制系統(tǒng)的網(wǎng)絡(luò)化。本系統(tǒng)最高能在6Mbps波特率的網(wǎng)絡(luò)中正常運(yùn)行,對(duì)于數(shù)據(jù)量較小的電動(dòng)執(zhí)行器,6Mbps可以滿足絕大多數(shù)的使用需求。

4、結(jié)論

  本文所研究的電動(dòng)執(zhí)行器控制系統(tǒng),能夠自適應(yīng)總線波特率,正確接入ProfiBus總線系統(tǒng),并長(zhǎng)時(shí)間運(yùn)行無誤,在模擬的工業(yè)監(jiān)控環(huán)境下顯示了良好的使用性能。ProfiBus總線技術(shù)的引入,大大增強(qiáng)了電動(dòng)執(zhí)行器的市場(chǎng)競(jìng)爭(zhēng)力和發(fā)展前景。