基于ProfiBus的電動(dòng)執行器控制系統研究
介紹了具有ProfiBus現場(chǎng)總線(xiàn)接口的電動(dòng)執行器控制系統的開(kāi)發(fā)過(guò)程。在保留原執行器功能的基礎上,增加了ProfiBus通信模塊,給出了軟硬件實(shí)現方案以及程序流程圖。該電動(dòng)執行器控制系統支持組態(tài)軟件的接入并實(shí)現與其他現場(chǎng)總線(xiàn)產(chǎn)品的互連、互操作。
現場(chǎng)總線(xiàn)是一種開(kāi)放式、數字化、多點(diǎn)通信的底層控制網(wǎng)絡(luò ),是一項集嵌入式、計算機、數字通信、網(wǎng)絡(luò )技術(shù)為一體的綜合技術(shù)。目前,世界上存在著(zhù)幾十種總線(xiàn)技術(shù),其中,ProfiBus作為主流總線(xiàn)技術(shù)的代表占據了相當一部分市場(chǎng)。
隨著(zhù)現代化工業(yè)水平的提高,現有的電動(dòng)執行器控制系統在功能和使用上的缺點(diǎn)暴露得越來(lái)越明顯,如模擬量控制信號精度低且易受干擾,缺少及時(shí)的遠程報警機制和故障處理方式,數字化程度不高,模擬量、開(kāi)關(guān)量控制功能受約于連接線(xiàn)的數量等問(wèn)題,不僅增加了產(chǎn)品成本,也增加了系統操作的復雜性。為了彌補現有電動(dòng)執行器控制系統的不足之處,強化其控制功能,本文把ProfiBus現場(chǎng)總線(xiàn)技術(shù)應用于電動(dòng)執行器控制系統。
1、控制系統硬件設計
本套控制系統主要完成以下功能:本地電動(dòng)執行器控制,以及總線(xiàn)通信?刂葡到y結構如圖1所示。

圖1 控制系統結構圖
1.1、執行器控制單元結構設計
本文采用C8051F040作為控制系統的MCU。它內含CIP-51的CPU內核,兼容MCS-51指令集,具有64kB片內Flash程序存儲器,4kRAM,128B的非易失性存儲器。C8051F040的片上資源豐富,外圍硬件電路連接簡(jiǎn)單,便于硬件調試,更縮短了設計開(kāi)發(fā)周期,提高系統的可靠性和穩定性。
執行器控制單元結構分以下幾個(gè)大的模塊:位置采集電路,模擬量輸入電路、模擬量輸出電路、遠程開(kāi)關(guān)量輸入電路,按鍵輸入電路,電機驅動(dòng)電路,LCD、LED顯示電路。其中:位置采集電路實(shí)現執行器當前位置的采集;模擬量輸入電路實(shí)現遠程控制用4~20mA信號的采集、轉換;模擬量輸出電路實(shí)現當前電動(dòng)執行器位置值向4~20mA模擬量的轉換;遠程開(kāi)關(guān)量輸入電路實(shí)現遠程控制狀態(tài)的采集;按鍵輸入電路負責采集本地按鍵控制;電機驅動(dòng)電路用于驅動(dòng)電動(dòng)執行器;LCD、LED顯示電路用于當前位置、控制類(lèi)型等信息的顯示。
1.2、ProfiBus通信電路設計
ProfiBus-DP是一個(gè)開(kāi)放的、與制造商無(wú)關(guān)的標準,任何人都可以獲得這個(gè)標準并設計各自的ProfiBus-DP設備。不過(guò)通過(guò)這種方法構成DP接口,除了物理層以外的協(xié)議都要通過(guò)軟件來(lái)完成,軟件編程工作量大,可靠性不易受到保障,通信速度也受到限制。本文采用SIEMENS公司提供的SPC3(SIEMENS ProfiBus Controller,3rd generation)ASIC接口芯片來(lái)開(kāi)發(fā)ProfiBus-DP接口。SPC3中集成了(RS-485),數據鏈路層、DP從站用戶(hù)接口以及部分現場(chǎng)總線(xiàn)管理(FMA),與其相連的MCU只需要少量的軟件工作就可以實(shí)現ProfiBus-DP智能從站的通信功能,大大縮短了系統的開(kāi)發(fā)周期。SPC3與MCU通過(guò)數據地址總線(xiàn)進(jìn)行數據交換,本文采用數據地址線(xiàn)復用方式,SPC3的AB8~AB10接地,AB0~AB7接收高八位地址,DB0~DB7為低八位地址與數據復用的總線(xiàn),ALE、XWR、XRD,連接MCU的ALE,WR、RD,控制SPC3的讀寫(xiě)。SPC3中斷源共用一個(gè)外部中斷XINT,觸發(fā)MCU的外部中斷INT0。ProfiBus-DP物理層介質(zhì)選用屏蔽雙絞線(xiàn),驅動(dòng)芯片采用SN75LS176。SN75LS176與SPC3的接口包括Rxd、Txd和發(fā)送使能DE,并通過(guò)6N137隔離。SN75LS176的接收使能端RE直接接地以保證全部接收。此外,采用單色LED與SPC3的XDATAEXCH相連,用來(lái)指示SPC3工作狀態(tài),撥碼開(kāi)關(guān)用于設置從站地址。ProfiBus通信電路結構如圖2所示。

圖2 ProfiBus通信電路結構
2、控制系統軟件設計
2.1、ProfiBus協(xié)議棧的實(shí)現
SPC3中集成了完整的ProfiBus-DP狀態(tài)機,在很大程度上減化了ProfiBus協(xié)議棧的軟件開(kāi)發(fā)周期。SPC3具有如下特點(diǎn):
(1)可以獨立處理ProfiBus-DP通信協(xié)議;
(2)微序列器控制著(zhù)整個(gè)SPC3的工作過(guò)程。在芯片進(jìn)入通信之前,要用外接的MCU對其參數寄存器、方式寄存器進(jìn)行必要的設置;
(3)可自動(dòng)建立ProfiBus-DP通信的服務(wù)存取點(diǎn),不同的報文對應不同的緩沖區:
(4)支持多個(gè)中斷,具有中斷屏蔽和中斷指示功能,多個(gè)中斷共享一個(gè)外部中斷;
(5)能夠自動(dòng)識別9。6kb/s~12Mb/s總線(xiàn)比特率。SPC3的內部集成了1。5k的雙端口RAM,地址為000H~5FFH。內部RAM以8字節為一個(gè)單元,共分為192個(gè)段。本控制系統中,將SPC3當作一個(gè)MCU的外部RAM,通過(guò)數據地址總線(xiàn)來(lái)進(jìn)行寄存器的讀寫(xiě),達到MCU對SPC3的控制目的。
RAM空間按功能分為處理器參數區、組織參數區、DP緩沖區三個(gè)區域。其中:
(1)處理器參數區寄存器包括:從站最小延遲時(shí)間寄存器、內部集成看門(mén)狗寄存器、中斷寄存器以及狀態(tài)寄存器等。
(2)組織參數區用于設置DP緩沖區中各個(gè)緩沖塊的長(cháng)度、指針(首地址)。這些長(cháng)度、指針的設置必須在SPC3離線(xiàn)情況下完成。在運行狀態(tài)下,除了Dout_Buf和Din_Buf的長(cháng)度可變以外,其他的指針和長(cháng)度都不可變。
(3)DP緩沖區是DP數據的緩沖區,包括3個(gè)DP輸出緩沖塊3個(gè)DP輸入緩沖塊、2個(gè)診斷緩沖塊、2個(gè)輔助緩沖塊、設置參數緩沖塊、通信接口配置緩沖塊等。
SPC3能夠完成DP從站的通信功能,從站的MCU只需要完成SPC3的初始化以及處理相應的應答報文。在DP模式下,SPC3提供如下的服務(wù)存取點(diǎn):
DefaultSAP-數據交換服務(wù);
SAP55-設置從站地址(Set_Slave_Add);
SAP56-讀DP輸入(Read_Input);
SAP57-讀DP輸出(Read_Output);
SAP58-全局控制命令(Global_Control);
SAP59-讀接口配置(Get_Config);
SAP60-讀從站診斷(Slave_Diag);
SAP61-設置參數(Set_Param);
SAP62-通信接口配置檢查(Check_Config)。
ProfiBus-DP系統從站通信狀態(tài)機如圖3所示。

圖3 ProfiBus-DP系統從站通信狀態(tài)機
SPC3中集成了ProfiBus-DP的完整協(xié)議以及DP狀態(tài)機,并支持波特率自搜索,與其相連的MCU只需要少量的軟件工作就可以實(shí)現ProfiBus-DP智能從站的通信功能,而不需要參與其狀態(tài)機。MCU的具體工作包括:
SPC3的初始化,spc3init();
對SPC3接收的數據進(jìn)行處理,outdataincept();
將要發(fā)送的數據寫(xiě)入SPC3,indatasend();
處理故障診斷,diagmodule();
響應SPC3中斷,dpint()interrupt0。
2.2、主程序流程

圖4 程序流程圖
控制系統程序流程如圖4所示。上電之后,系統首先進(jìn)行MCU的初始化,包括系統時(shí)鐘、ADC、DAC,定時(shí)器等資源的配置。然后,MCU開(kāi)始初始化SPC3,并等待SPC3進(jìn)入數據交換。如果等待超時(shí)或者SPC3已經(jīng)進(jìn)入數據交換狀態(tài),則開(kāi)始循環(huán)程序。若系統未發(fā)生不可恢復的通信錯誤,將依次進(jìn)行:SPC3診斷、處理總線(xiàn)數據、模擬量采集、菜單處理、錯誤檢測、執行機構命令、開(kāi)關(guān)量輸出,否則,不進(jìn)行總線(xiàn)數據的處理,總線(xiàn)功能不可用。
3、組網(wǎng)與測試
當今對現場(chǎng)總線(xiàn)的研究多以從站開(kāi)發(fā)為主,而采用功能強大的PLC作為主站設備,結合配套軟件或第三方組態(tài)軟件,將自行研發(fā)的從站設備于主站相連,組成現場(chǎng)總線(xiàn)網(wǎng)絡(luò )。圖5為本文控制系統組網(wǎng)環(huán)境。

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

圖6 ProfiBus總線(xiàn)系統監控界面
3.2、系統運行測試
通過(guò)長(cháng)時(shí)間的運行測試,本系統運行情況良好,實(shí)時(shí)性、可靠性能夠滿(mǎn)足工業(yè)現場(chǎng)需求,測試結果如表1所示。
表1 ProfiBus組網(wǎng)運行測試結果

由以上測試結果可以看出,本文設計的電動(dòng)執行器控制系統能夠正確識別ProfiBus總線(xiàn)波特率,并完成總線(xiàn)數據交換功能,實(shí)現控制系統的網(wǎng)絡(luò )化。本系統最高能在6Mbps波特率的網(wǎng)絡(luò )中正常運行,對于數據量較小的電動(dòng)執行器,6Mbps可以滿(mǎn)足絕大多數的使用需求。
4、結論
本文所研究的電動(dòng)執行器控制系統,能夠自適應總線(xiàn)波特率,正確接入ProfiBus總線(xiàn)系統,并長(cháng)時(shí)間運行無(wú)誤,在模擬的工業(yè)監控環(huán)境下顯示了良好的使用性能。ProfiBus總線(xiàn)技術(shù)的引入,大大增強了電動(dòng)執行器的市場(chǎng)競爭力和發(fā)展前景。