?

基于C8051F040的PROFIBUS-DP從站設計

2010-04-11 08:07劉詩林劉海濤
制造業自動化 2010年12期
關鍵詞:緩沖區報文硬盤

劉詩林,許 暉,劉海濤

LIU Shi-lin, XU Hui, LIU Hai-tao

(西北工業大學 航海學院,西安 710072)

基于C8051F040的PROFIBUS-DP從站設計

An profi bus-dp slave designs based on c8051f040

劉詩林,許 暉,劉海濤

LIU Shi-lin, XU Hui, LIU Hai-tao

(西北工業大學 航海學院,西安 710072)

本文以某硬盤檢測系統自動化改造工程為對象,針對該系統設備分散,數據傳輸信息量大,實時性和可靠性要求高等特點,設計一種可用于該系統的分布式控制基于PROFIBUS-DP協議的I/O從站。根據分布式控制系統的整體結構、工作原理及特點,對微控制器C8051F040和協議芯片SPC3開發I/O從站的硬件電路、軟件設計流程進行了設計。給出基于PROFIUBS-DP的分布式控制系統網絡組態與調試的方法,經測試表明,I/O從站與監控計算機和PLC通信正常、可靠,實時性滿足了控制系統的要求。

C8051F040;PROFIBUS-DP;I/O從站;SPC3

0 引言

硬盤檢測程序是硬盤出廠前不可缺少的步驟,檢測的過程是批量進行的,而每塊硬盤的檢測耗時不一致,這對檢測監控人員來說工作量非常大。因此通過自動化改造可以節省人力資源,同時提高檢測系統的工作效率。

該系統主要由以下幾部分組成:8組共32個測試機柜,4套裝卸機械手,1套傳送機構、1套分揀機構、控制主機和監視計算機。系統中存在大量的I/O信號,而且各套設備與控制主機之間需要滿足實時通信的要求,為了使系統正??煽康倪\行,可以采用以下兩種方法:1)采用傳統的PLC構成集散型控制系統(Distributed Control System,DCS);2)采用基于現場總線的分布式I/O系統[1]。

采用第一種方案存在系統不開放、硬件投資大、布線復雜和維修不便等缺點,具有明顯的局限性。而采用第二種方案基本局限于國外產品,如西門子公司的基于PROFIBUS分布式I/O控制系統,WAGO公司基于CANbus、DeviceNET、PROFIBUS分布式I/O控制系統,但價格較高。因此,本文設計了基于C8051F040的PROFIBUS-DP I/O從站用于該系統的分布式控制。

1 硬盤檢測控制系統的整體方案設計

硬盤檢測控制系統由西門子PLC、內置PROFIBUS通信卡的監控計算機和自行開發的I/O從站構成,并由PROFIBUS-DP電纜連接構成分布式總線控制網絡,總體結構如圖1所示。

圖1 硬盤檢測分布式控制系統總體結構圖

分布在現場的I/O從站連接各套設備,并通過PROFIBUS總線通信接口與總線網絡相連;控制系統由西門子PLC作為一類主站,監控計算機作為二類主站編程和運行監控程序并通過總線適配卡與現場I/O從站進行實時通信,構成分布式控制,從而實現系統的分布式控制和集中監管監控功能。

控制系統中的監控計算機選用研華公司的工控機( IPC) ;PLC選用德國西門子的S7-300(CPU 315-2DP);總線適配卡選用西門子公司的CP5611,用來完成現場總線和監控計算機之間的協議轉換。各個I/O從站之間通過專用屏蔽電纜互聯構成PROF IBUS總線網絡,總線兩端連接PROFIBUS總線終端器,用來提高系統的穩定性,增強系統的抗干擾能力。

2 PROFIBUS-DP智能從站總體設計

PROFIBUS是作為德國國家標準DIN19245、歐洲標準EN50170,目前已成為中國唯一的現場總線國家標準GB/T20540- 2006。PROFIBUS作為一種不依賴于制造廠商的開放式現場總線標準,已廣泛應用于制造加工自動化、過程自動化和樓宇自動化等領域中[1]。

原則上,PROFIBUS協議在任何微處理器上都可以實現,在微處理器內部或外部安裝異步串行通信接口(UART)即可完成?;谏鲜鎏攸c,在開發PROFIBUS-DP從站時有以下兩種方案可供選擇:1)單片機+軟件;2)單片機+PROFIBUS通信專用ASIC[2]。

比較兩種設計方案:第一種方案硬件設計相對較簡單,成本較低,但要求開發人員透徹了解PROFIBUS-DP的技術細節,傳輸速率低于500kbit/s,而且程序編寫工作量較大,這樣從站可靠性也不高。第二種方案利用硬件實現協議功能,傳輸速率可以到達12Mbit/s,雖然硬件成本有所增加,但可以降低開發難度、提高從站的可靠性。經綜合考慮,本文采用第二種方案設計I/O從站。

2.1 I/O從站硬件設計

對于測試機柜,I/O從站的作用主要是監控硬盤檢測是否結束并記錄測試結果給分揀機構提供參考;機械手、分揀和傳送機構由PLC通過I/O從站實現現場控制,其中包含有多個控制氣缸的電磁換向閥、行程開關、步進電機驅動器以及傳感器信號。

I/O從站除了滿足如上控制要求外,還需要有PROFIBUS-DP通信接口,為了使從站具有較高的適應性和可靠性,本文采用功能模塊化設計,系統由C8051F040單片機和完整封裝了PROFIBUS-DP協議芯片SPC3構成其核心部分,其它還有16路數字量輸入/輸出、8路模擬量輸入/2路模擬量輸出、基于SPC3的PROFIBUS總線隔離驅動、RS232、開關設置地址及電源模塊等部分組成,詳如圖2所示。

2.1.1 微處理器與SPC3的接口設計

微控制器和SPC3是I/O從站的核心,微處理應能夠通過輸入/輸出接口與現場設備相連,并能夠通過協議芯片SPC3與主站進行實時通信,本文選用的微處理是美國Cygnal公司C8051F040,其突出的優點是有與MCS-51指令集完全兼容的高速CIP-51內核(峰值速度可達25MIPS)、多達64位可編程I/O口線、片內集成看門狗定時器、64K可在系統編程的FLASH程序存儲器、128B非易失性數據存儲器、4352(4KB +256B)的片內RAM、支持JTAG調試等。C8051F040的片上資源很豐富,包括8組I/O端口、A /D和D /A轉換器、多個中斷源、增強型通用異步接收器和發送器(UART),非常適用于工業系統的自動控制,而且采用這種系統級SOC芯片,在很大程度上可以減少外圍元器件的數量,從而減少元器件間的走線,提高系統的穩定性和可靠性。

協議芯片SPC3,包含有方式寄存器、狀態寄存器、中斷寄存器、各種緩沖器指針和緩沖區等。最大傳輸速率可達12Mbit/s,可以自動檢測總線上傳輸速率。該芯片內部含有1.5KB的雙口RAM作為SPC3與軟件/程序的接口。此外,SPC3從初始化到正常工作,都由芯片內部集成的狀態機來控制,不需要過多的人為干預。只要按正確方法對SPC3中的寄存器和數據區進行初始化后,對其雙口RAM進行數據的讀寫操作即可完成從站與主站間的通訊。微控制器C8051F040與協議芯片SPC3的接口電路設計參考SPC3芯片手冊的標準電路設計完成。

圖2 PROFIBUS-DP從站總體結構框圖

2.1.2 輸入/輸出接口電路設計

根據系統的要求, I/O從站具有16路數字量輸入/輸出,8路模擬量輸入和2路模擬量輸出。數字量輸入接口用于連接各種限位開關、繼電器、可控硅或電磁閥門等,輸入信號一般為0~24V或0~12V直流電壓信號,因此該通道的最主要問題是隔離問題,如隔離不好,較強的電磁干擾就會引入到系統中,影響系統的正常工作。所以數字量的輸入需經過光電耦合器TLP521后接入C8051F040的輸入接口,從而保證系統工作的可靠性。數字量輸出接口,主要用于控制電磁閥門、繼電器、指示燈、聲光報警器等,一般只具有開、關兩種狀態的設備。根據所用器件的不同,有繼電器輸出、晶體管輸出和晶閘管輸出等多種形式,輸出0~24V或0~5V直流電壓信號。為提高從站的穩定性和抗干擾能力,輸出接口也使用光電耦合器,將微控制器C8051F040輸出接口與現場的負載完全隔離。在輸出通道與光電隔離電路之后,通過使用輸出驅動芯片ULN2803來增強輸出接口的驅動能力。模擬量輸入接口主要用于傳感器信號的輸入,由于C8051F040芯片引腳有8個專用于模擬輸入通道,是8路12位分辨率的逐次逼近寄存器型ADC的輸入端?;谶@一點,該通道只需要經過I/V轉換電路接入C8051F040模擬輸入端口即可。另外C8051F040內部有兩個12位的DAC轉換器,每個DAC都具有靈活的輸出更新機制,允許無縫的滿度變化并支持無抖動輸出更新。

2.1.3 總線通信接口電路設計

PROFIBUS-DP的數據傳輸是通過RS485接口實現的,為消除來自總線的干擾,需要采用雙路電源供電,對通信信號的輸入/輸出通道進行光電隔離。協議芯片SPC3的數據發送請求(RTS) 、數據輸入(RXD) 、數據輸出( TXD)引腳經隔離后與總線驅動器相連。RS485總線驅動器一側與9針D型插座相連,另一側通過光耦HCPL7101與SPC3相連。在設計中采用能夠滿足12Mbps波特率的總線驅動芯SN65ALS1176,接收器在總線開路、斷路和空閑時有故障安全保護功能。該部分電路設計可參考SPC3手冊。

2.2 I/O從站軟件設計

在從站設計中,硬件的選擇和電路設計會直接影響從站性能的穩定和通信速度,I/O從站要完成與主站的通信任務和相關控制功能,還需要設計相應的配套軟件。由于SPC3集成了PROFIBUSDP協議的狀態機,使得C8051F040的主要任務在于初始化和啟動SPC3、數據的發送和接收、診斷事務及中斷事務處理等。這些功能可以通過KeilC51程序開發來實現,程序采用結構化設計,包括主程序、SPC3初始化程序、SPC3中斷處理程序、I/O接口程序、和外部診斷程序等:

1)USERSPC3.C主程序。這部分主要完成SPC3的初始化、啟動、發送和接收數據以及診斷等功能。

主程序首先對單片機和SPC3進行正確的初始化。單片機初始化包括端口配置和時鐘初始化。SPC3初始化包括設置協議芯片的中斷允許、寫入從站識別號和地址、設置SPC3方式寄存器、設置診斷緩沖區、參數緩沖區、配置緩沖區、地址緩沖區和初始化長度,并根據以上初始值得出各個緩沖區的指針和輔助緩沖區的指針。根據傳輸的數據長度,確定輸出緩沖區和輸入緩沖區及指針[2]。SPC3的初始化流程如圖3示。

圖3 SPC3的初始化流程

初始化正確后,啟動SPC3,數據輸入和輸出(輸入和輸出相對于主站而言)放在主循環中。SPC3在接收到由PROFIBUS主站發送的不同輸出數據時,會產生輸出標志位(位于中斷請求字單元),MCU通過輪循標志位來接收主站數據。向主站傳送輸入數據時,SPC3將實際采集到的應用數據不斷地填入輸入緩沖區,并通過主循環不斷地刷新,以確保所有的輸入數據是最新的。

2)INTSPC3.C中斷模塊。這個模塊主要處理分配從站參數、組態數據檢查和從站地址設定等功能。在PROFIBUS-DP中主要有以下的中斷事件:新的參數報文事件,全局控制命令報文事件,進入或退出數據交換狀態事件,新的配置報文事件,新的地址設置報文事件,看門狗事件。設計采用中斷方式處理從站地址設定,檢查組態和參數報文是否正確。采用外部中斷INT0輸入,其入口地址為0003H。主程序、中斷程序流程如圖4所示。

圖4 主程序和中斷程序流程

3)SPC3.C模塊。主要根據組態數據計算輸入輸出數據長度,輔助緩沖區分配,緩沖區初始化,設置I/O數據長度,各緩沖區數據更新等功能。

4)USER.H模塊。用來定義變量和宏接口,宏口使用戶可方便地訪問SPC3的寄存器。

3 從站調試

從站調試分為兩個部分,首先是硬件電路的測試,檢查電路是否正常,芯片是否正常工作,通過JTAG接口連接仿真器,編寫測試程序對C8051F040的外圍電路進行功能檢查。當測試硬件電路達到設計要求后,然后就是軟件的調試工作。調試I/O從站之前必須組建PROFIBUS-DP總線網絡,并在計算機上進行網絡組態。采用S7-300作為第一類主站,PC作為第二類主站進行編程和監控,通過PROFIBUS-DP專用電纜連接PLC與自行設計開發的I/O從站,構成現場總線的分布式I/O控制系統??偩€系統網絡結構如圖1所示。I/O從站的調試分三步進行:第一步用德國西門子公司的ET200 I/O從站建立一主加一從的總線網絡,編寫PLC測試運行程序,利用RS485 -232轉接模塊與串口調試助手軟件監測PROFIBUS總線上的報文,并記錄;第二步用自行開發的I/O從站替換ET200,運行相同PLC測試程序并監測總線上的報文,與第一步監測到的報文進行對比、找出不同之處進行分析、修改I/O從站軟件,直到總線上的報文與第一步監測到的報文相同;第三步把自行開發的I/O從站和ET200連接到同一總線網絡中進行兼容性測試。

經測試表明,I/O從站與監控計算機和PLC通信正常、可靠,系統運行良好,實時性滿足了硬盤檢測控制系統的要求。

4 結論

PROFIBUS作為一種國際化的、不依賴于設備制造商的開放式現場總線,已廣泛的應用于自動化領域。本文設計的I/O從站作為PROFIBUS-DP現場總線的I/O節點能有效地實現自動化系統的分布式控制,并具有一定的通用性。對于開發過程中所提出的技術方案和實現方法可以在類似的分布式控制系統中推廣應用。

[1] 孫鶴旭,梁濤,云力軍.Profibus現場總線控制系統的設計與開放[M].北京:國防工業出版社,2007:191-200.

[2] 王永華,A.Verwer.現場總線技術及應用教程——從PROFIBUS到AS-i[M].北京:機械工業出版社,2006:

[3] 潘琢金,施國君.C8051FXXX高速SOC單片機及運用[M].北京:航空航天大學出版社,2002.

[4] 曹晶,方康玲,廖煥柱.PROFIBUS-DP從站接口設計[J].計算機與信息技術,2009.

[5] SPC3 Siemens PROFIBUS Controller User Description[OL].Siemens AG,2000.

TH166

B

1009-0134(2010)11(上)-0042-04

10.3969/j.issn.1009-0134.2010.11(上).14

2010-07-03

劉詩林(1985 -), 男,江西武寧人,碩士研究生,研究方向為工業現場總線。

猜你喜歡
緩沖區報文硬盤
基于J1939 協議多包報文的時序研究及應用
CTCS-2級報文數據管理需求分析和實現
HiFi級4K硬盤播放機 億格瑞A15
Egreat(億格瑞)A10二代 4K硬盤播放機
淺析反駁類報文要點
服務器更換硬盤后的同步問題
基于ARC的閃存數據庫緩沖區算法①
ATS與列車通信報文分析
一類裝配支線緩沖區配置的兩階段求解方法研究
初涉緩沖區
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合