??? 摘 要:針對印刷機外圍設(shè)備" title="外圍設(shè)備">外圍設(shè)備多、分散廣、實時性和可靠性要求高等特點,設(shè)計了一種基于C8051F020和SPC3的現(xiàn)場總線分布式控制系統(tǒng)" title="分布式控制系統(tǒng)">分布式控制系統(tǒng)。詳細(xì)介紹了該系統(tǒng)的總體結(jié)構(gòu)、I/O" title="I/O">I/O從站的硬件電路、軟件設(shè)計流程。給出了基于PROFIBUS現(xiàn)場總線的分布式控制系統(tǒng)網(wǎng)絡(luò)組態(tài)與調(diào)試的方法。
??? 關(guān)鍵詞: SPC3? PROFIBUS? 現(xiàn)場總線? 分布式控制系統(tǒng)
?
??? PROFIBUS以其卓越的性能在全球得到了廣泛的應(yīng)用,已成為現(xiàn)場總線的國際標(biāo)準(zhǔn)之一,并成為眾多國家的國家標(biāo)準(zhǔn)。目前PROFIBUS的標(biāo)準(zhǔn)包括:德國國家標(biāo)準(zhǔn)DIN19245、歐洲標(biāo)準(zhǔn)EN50170和中國國家標(biāo)準(zhǔn)B/T20540-2006。PROFIBUS作為一種不依賴于制造廠商的開放式現(xiàn)場總線標(biāo)準(zhǔn),已廣泛應(yīng)用于制造加工自動化、過程自動化和樓宇自動化等領(lǐng)域中。根據(jù)應(yīng)用特點的不同,可以分為PROFIBUS-DP" title="PROFIBUS-DP">PROFIBUS-DP、PROFIBUS-FMS、PROFIBUS-PA三個兼容版本[1]。其中,PROFIBUS-DP是一種經(jīng)過優(yōu)化的高速且廉價的通信連接,專門為自動控制系統(tǒng)與設(shè)備分散的I/O之間的通信而設(shè)計,為工廠自動化提供了很好的解決方案。
??? 印刷設(shè)備中存在大量的外圍I/O信號,必須保證外圍設(shè)備與控制主機之間實時通信,才能使印刷機可靠運行,若采用傳統(tǒng)的PLC構(gòu)成集散型控制系統(tǒng)(DCS),則存在系統(tǒng)不開放、硬件投資大、布線復(fù)雜、維修不便等缺點,具有明顯的局限性[2];若采用基于現(xiàn)場總線的分布式I/O系統(tǒng),則基本局限于國外產(chǎn)品,如西門子公司的基于PROFIBUS分布式I/O系統(tǒng)、WAGO公司的基于CANbus、DeviceNET、PROFIBUS分布式I/O系統(tǒng)等,而且價格較高。因此,本文設(shè)計了基于C8051F020微控制器和SPC3協(xié)議芯片的PROFIBUS-DP智能從站" title="智能從站">智能從站,將其應(yīng)用于印刷設(shè)備的現(xiàn)場總線分布式控制系統(tǒng)中。
1 分布式控制系統(tǒng)的構(gòu)成
??? 分布式控制系統(tǒng)由內(nèi)置主站通信適配卡的監(jiān)控計算機和智能I/O從站構(gòu)成,并由PROFIBUS專用電纜連接成分布式總線網(wǎng)絡(luò),其結(jié)構(gòu)如圖1所示。分布在現(xiàn)場的I/O從站連接印刷機的外圍設(shè)備,通過PROFIBUS總線通信接口與總線網(wǎng)絡(luò)相連;監(jiān)控計算機運行監(jiān)控軟件,通過PROFIBUS主站適配卡和連接在總線網(wǎng)絡(luò)上的各個智能從站之間進行實時通信,從而實現(xiàn)整個印刷機組的分布式控制和集中監(jiān)管[2]。
?

??? 監(jiān)控計算機可以選用普通計算機(PC)或工控機(IPC);軟PLC可以選用德國3S公司的CoDeSys或西門子公司的WINAC ??偩€適配卡用來完成現(xiàn)場總線和監(jiān)控計算機之間的協(xié)議轉(zhuǎn)換。各個控制節(jié)點之間通過專用屏蔽電纜互聯(lián)構(gòu)成PROFIBUS總線網(wǎng)絡(luò),總線兩端連接PROFIBUS總線終端器,用來提高系統(tǒng)的穩(wěn)定性、增強系統(tǒng)的抗干擾能力。
2 I/O從站的設(shè)計
??? 控制系統(tǒng)的I/O智能從站采用功能模塊化設(shè)計,從站由C8051F020微處理器和封裝了PROFIBUS-DP協(xié)議的芯片SPC3構(gòu)成其核心部分。此外還有數(shù)字量輸入/輸出口、PROFIBUS總線驅(qū)動器、擴展模塊接口、光電隔離電路及電源模塊等部分組成,其構(gòu)成框圖如圖2所示。
?

??? 智能從站由24V直流電源供電,而從站中的芯片都采用5V的電源,所以選用DC/DC電源模塊將24V轉(zhuǎn)換成5V??偩€驅(qū)動器(RS-485)及光電隔離電路是SPC3與PROFIBUS-DP總線之間的接口,對通信信號進行光電隔離,用以消除來自總線的干擾。采用雙路電源供電,進行了完全的輸入/輸出通道上的電氣隔離。電氣隔離采用ADUM1301芯片,該芯片采用AD公司最新的iCoupler隔離技術(shù),與傳統(tǒng)的光耦器件相比優(yōu)勢明顯:完全可滿足工業(yè)現(xiàn)場寬范圍的溫度(-40℃~+105℃)要求;低功耗;傳輸速率最高可達(dá)90Mbps;所需的外圍元件少;從站地址開關(guān)可用手動設(shè)置從站地址。
2.1 微處理器芯片C8051F020
??? 本設(shè)計采用的微處理器是美國Cygnal公司推出的工業(yè)級微處理器[3] C8051F020。它內(nèi)含CIP-51的CPU內(nèi)核,其指令系統(tǒng)與MCS-51完全相同,具有64kB片內(nèi)Flash程序存儲器、4352B的RAM、128B的非易失性存儲器。C8051F020的片上資源豐富,包括:8組I/O端口、5個16位通用定時/計數(shù)器、多個中斷源、A/D和D/A轉(zhuǎn)換器、增強型UART、片內(nèi)振蕩器及時序電路等。C8051F020內(nèi)的存儲器支持JTAG調(diào)試功能,其優(yōu)點是在系統(tǒng)編程時不需要移出微處理器,只需要通過JTAG接口結(jié)合上位機軟件就可以實現(xiàn)PC機對MCU的重復(fù)編程,而且硬件電路連接簡單。這樣,程序調(diào)試方便,縮短了設(shè)計開發(fā)周期,提高了系統(tǒng)的可靠性和穩(wěn)定性。
2.2? 協(xié)議芯片SPC3
??? SPC3[4](Siemens PROFIBUS Controller)是西門子公司設(shè)計的一款A(yù)SIC芯片,專門用于PROFIBUS從站或從設(shè)備的開發(fā),可以和多種單片機(51系列、80C32、80C165、 HC916)配合使用,能滿足PROFIBUS-DP的高速數(shù)據(jù)傳輸要求。SPC3內(nèi)部集成了PROFIBUS-DP從站通信協(xié)議,最大傳輸速率可達(dá)12Mbps,可以自動檢測總線上傳輸速率,內(nèi)部有1.5KB的RAM、方式寄存器、狀態(tài)寄存器、中斷寄存器及各種緩沖器指針和緩沖區(qū)等,其內(nèi)部結(jié)構(gòu)如圖3所示。此外,SPC3從初始化到正常工作,都由芯片內(nèi)部集成的狀態(tài)機來控制,不需要過多人為的干預(yù)。只要按正確方法對SPC3中的寄存器和數(shù)據(jù)區(qū)進行初始化后,對其雙口RAM進行數(shù)據(jù)的讀寫操作即可完成從站與主站間的通信。
?

??? 在SPC3正常工作之前,微處理器需要對其進行初始化以配置所需要的寄存器,SPC3的初始化流程包括:設(shè)置協(xié)議芯片的中斷允許、寫入從站識別號和地址、設(shè)置SPC3方式寄存器、設(shè)置診斷緩沖區(qū)、參數(shù)緩沖區(qū)、配置緩沖區(qū)、地址緩沖區(qū)、初始化長度,并根據(jù)以上初始值得出各個緩沖區(qū)的指針和輔助緩沖區(qū)的指針。根據(jù)傳輸?shù)臄?shù)據(jù)長度,確定輸出緩沖區(qū)、輸入緩沖區(qū)及指針。
2.3 I/O從站的軟件設(shè)計
??? I/O從站的主程序流程如圖4所示,包括:系統(tǒng)初始化、I/O控制程序和PROFIBUS-DP總線通信程序。初始化程序完成對C8051F020微處理器和SPC3協(xié)議芯片的初始化,PROFIBUS-DP通信程序?qū)崿F(xiàn)I/O從站與監(jiān)控主站間的通信。
?

??? 由于SPC3內(nèi)部集成了完整的PROFIBUS-DP協(xié)議,因此用戶不用參與處理PROFIBUS狀態(tài)機制,SPC3可以自主實現(xiàn)從站狀態(tài)機的轉(zhuǎn)換, 同主站進行通信。主站可以讀取SPC3輸入緩沖區(qū)的數(shù)據(jù)或向輸出緩沖區(qū)寫入要輸出的數(shù)據(jù)。只有當(dāng)SPC3進入了數(shù)據(jù)交換狀態(tài)時,對其輸入輸出緩沖區(qū)的讀寫才有意義。SPC3處于數(shù)據(jù)交換狀態(tài)時,除了同主站進行輸入輸出數(shù)據(jù)交換外,還可以接收新的參數(shù)化報文、組態(tài)報文、從站地址設(shè)置報文以及全局控制命令報文等,這些報文的到來都可以觸發(fā)一個公用的中斷,當(dāng)中斷到來時應(yīng)用程序通過讀取SPC3的中斷寄存器來判斷觸發(fā)中斷的原因并進行相應(yīng)的中斷處理。
3 分布式控制系統(tǒng)的調(diào)試
??? 分布式控制系統(tǒng)調(diào)試之前必須連接好總線網(wǎng)絡(luò),并在計算機上進行網(wǎng)絡(luò)組態(tài)。通常的網(wǎng)絡(luò)組態(tài)方法有三種:(1)基于組態(tài)軟件+主站通信卡構(gòu)成PROFIBUS-DP二類主站網(wǎng)絡(luò)結(jié)構(gòu)。(2)由具有PROFIBUS-DP接口的硬件PLC構(gòu)成PROFIBUS-DP一類主站結(jié)構(gòu)。(3)基于PC+軟PLC構(gòu)成PROFIBUS-DP一類主站結(jié)構(gòu)。本文調(diào)試采用的是最后一種方式(其總線系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)見圖1)。
??? 監(jiān)控計算機運行德國西門子公司的WINAC軟PLC軟件,并作為PROFIBUS總線網(wǎng)絡(luò)的主站(相當(dāng)于一臺高性能可編程控制器)。分布式控制系統(tǒng)正常工作前還要進行PROFIBUS–DP總線網(wǎng)絡(luò)的硬件組態(tài),硬件組態(tài)通過SIMATIC-NET V6.2軟件包完成,其過程包括:(1)通過Configur-Station加載CP5613通信卡建立網(wǎng)絡(luò)的主站。(2)加載從站設(shè)備的GSD文件。(3)設(shè)置PROFIBUS總線相關(guān)參數(shù)(如通信波特率、從站ID號等)。(4)通過HW-Configuration組態(tài)整個PROFIBUS-DP總線網(wǎng)絡(luò)。組態(tài)好的信息下載到主站中即可。通過PROFIBUS專用電纜連接CP5613通信卡與自行設(shè)計開發(fā)的I/O從站,構(gòu)成基于軟PLC和PROFIBUS現(xiàn)場總線的分布式I/O控制系統(tǒng)。在監(jiān)控計算機上用SETP7軟件編寫相應(yīng)的PLC調(diào)試程序,進行控制系統(tǒng)測試實驗。
?? ?本文設(shè)計的基于C8051F020和SPC3的現(xiàn)場總線分布式控制系統(tǒng)已經(jīng)過調(diào)試,實現(xiàn)了監(jiān)控主站與智能從站之間的正常通信,并與其他公司的產(chǎn)品進行了兼容性實驗,運行良好,可靠性高。通過編寫PLC的測試程序,檢查了整體方案的可行性;驗證了整個系統(tǒng)信息傳遞及控制的可靠性、準(zhǔn)確性和實時性。所設(shè)計的PROFIBUS總線分布式控制系統(tǒng)可以很好地滿足印刷機組外圍設(shè)備的控制要求。開發(fā)過程中所提出的技術(shù)方案和實現(xiàn)方法可以在類似的分布式控制系統(tǒng)中推廣應(yīng)用。
參考文獻
[1]? ?陽憲惠. 現(xiàn)場總線技術(shù)及其應(yīng)用[M].北京:清華大學(xué)出版社,1999.
[2]? ?孫樹文,張慧慧,楊建武,等.CAN總線在潛水電機分布式監(jiān)控系統(tǒng)中的應(yīng)用[J],計算機測量與控制,2006,(11).
[3]? ?潘琢金,施國君.C8051FXXX高速SOC單片機及運用[M]. 北京:航空航天大學(xué)出版社,2002.
[4]? ?SIEMENS.DPC31 HARDWARE DESCRIPTION[Z].2002.
