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

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

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

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

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

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

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

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

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

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

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

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

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

  ProfiBus-DP是一個開放的、與制造商無關(guān)的標(biāo)準(zhǔn),任何人都可以獲得這個標(biāo)準(zhǔn)并設(shè)計各自的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)場總線管理(FMA),與其相連的MCU只需要少量的軟件工作就可以實現(xiàn)ProfiBus-DP智能從站的通信功能,大大縮短了系統(tǒng)的開發(fā)周期。SPC3與MCU通過數(shù)據(jù)地址總線進行數(shù)據(jù)交換,本文采用數(shù)據(jù)地址線復(fù)用方式,SPC3的AB8~AB10接地,AB0~AB7接收高八位地址,DB0~DB7為低八位地址與數(shù)據(jù)復(fù)用的總線,ALE、XWR、XRD,連接MCU的ALE,WR、RD,控制SPC3的讀寫。SPC3中斷源共用一個外部中斷XINT,觸發(fā)MCU的外部中斷INT0。ProfiBus-DP物理層介質(zhì)選用屏蔽雙絞線,驅(qū)動芯片采用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的電動執(zhí)行器控制系統(tǒng)研究

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

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

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

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

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

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

  (3)可自動建立ProfiBus-DP通信的服務(wù)存取點,不同的報文對應(yīng)不同的緩沖區(qū):

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

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

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

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

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

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

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

  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)機如圖3所示。

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

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

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

  SPC3的初始化,spc3init();

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

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

  處理故障診斷,diagmodule();

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

2.2、主程序流程

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

圖4 程序流程圖

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

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

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

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

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

3.1、ProfiBus組網(wǎng)

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

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

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

3.2、系統(tǒng)運行測試

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

表1 ProfiBus組網(wǎng)運行測試結(jié)果

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

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

4、結(jié)論

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