申小會,李 琳,沈曉濱
(1.西安石油大學(xué) 電子工程學(xué)院,陜西 西安 710065;2.鄭州輕工業(yè)學(xué)院 機(jī)電工程學(xué)院,河南 鄭州 450002)
目前,電動鉆機(jī)控制系統(tǒng)主要以西門子PLC為控制核心,由數(shù)字式發(fā)電控制單元、數(shù)字式電氣傳動控制單元和數(shù)字式配電控制單元組成全數(shù)字控制系統(tǒng),分別控制井場的動力設(shè)備、鉆井驅(qū)動設(shè)備和配電設(shè)備;同時,應(yīng)用Profibus-DP現(xiàn)場總線技術(shù)實(shí)現(xiàn)西門子PLC和電氣傳動控制單元之間的通信功能[1]。而智能化、網(wǎng)絡(luò)化、開放化是電動鉆機(jī)全數(shù)字控制系統(tǒng)的發(fā)展趨勢[2]。因此,開發(fā)、完善電動鉆機(jī)控制系統(tǒng)的數(shù)字式控制器具有實(shí)際意義。
對于電動鉆機(jī)控制系統(tǒng),應(yīng)用Profibus-DP現(xiàn)場總線技術(shù)的通信功能可實(shí)現(xiàn)西門子PLC對所控機(jī)組的集中監(jiān)測、控制、管理;對于柴油發(fā)電機(jī)組控制系統(tǒng),利用DSP控制柴油發(fā)電機(jī)組可以提高控制系統(tǒng)的精度和數(shù)字處理速度。在開發(fā)柴油發(fā)電機(jī)組數(shù)字式控制器的過程中,采用內(nèi)嵌CAN總線通信功能的DSP作為柴油發(fā)電機(jī)組的核心控制模塊來協(xié)調(diào)、控制各機(jī)組之間的工作[3],為了將柴油發(fā)電機(jī)組的實(shí)時工況傳送至PLC,同時實(shí)現(xiàn)DSP讀取PLC所發(fā)出的命令,開發(fā)Profibus-DP與CAN總線協(xié)議轉(zhuǎn)換通信單元,圖1為系統(tǒng)結(jié)構(gòu)。
圖1 通信單元系統(tǒng)結(jié)構(gòu)
通信單元的硬件設(shè)計(jì)主要包括:Profibus-DP從站接口電路、CAN節(jié)點(diǎn)接口電路和雙口RAM接口電路。其中,雙口RAM器件具有兩套獨(dú)立的地址、數(shù)據(jù)及讀寫控制線,可同時分別與2個不同的CPU相連[4]。這里所設(shè)計(jì)的通信單元,一套與Profibus-DP從站接口電路中的微控制器AT89S52相連,另一套與CAN節(jié)點(diǎn)接口電路中的微控制器AT89C52相連。雙口RAM通過將兩種總線信號映射到不同的存儲單元完成Profibus-DP和CAN兩種總線通信協(xié)議的數(shù)據(jù)轉(zhuǎn)換功能。
Profibus-DP從站接口的硬件電路主要由微控制器AT89S52、Profibus-DP 協(xié) 議 器 件SPC3、 高速光耦 6N137、RS-485驅(qū)動器SN75ALS176和供電電源組成。AT89S52內(nèi)部集成有看門狗定時器,抗干擾性強(qiáng)。SPC3集成有Profibus-DP物理層數(shù)據(jù)收發(fā)功能,可獨(dú)立處理Profibus-DP協(xié)議,但不具備RS-485驅(qū)動接口,因此增加RS-485驅(qū)動電路。為了防止總線電壓波動對SPC3造成損壞,在RS-485驅(qū)動器和SPC3之間增加高速光耦[5]。
系統(tǒng)工作時,AT89S52分析處理所采集的信號,將其經(jīng)SPC3傳送到Profibus-DP總線,再傳送給西門子PLC,PLC分析實(shí)時工況給出相應(yīng)指令。另外,柴油發(fā)電機(jī)組控制系統(tǒng)也可通過Profibus-DP從站接口電路讀取西門子PLC和操作人員發(fā)出的指令。圖2為AT89S52與SPC3的接口電路。
圖2 AT89S52與SPC3接口電路
圖3 CAN節(jié)點(diǎn)硬件電路
CAN節(jié)點(diǎn)硬件電路主要由微控制器AT89C52、獨(dú)立CAN通信控制器SJA1000、CAN總線收發(fā)器PCA82C250、高速光耦6N137和供電電源組成。
微控制器AT89C52負(fù)責(zé)SJA1000的初始化,通過控制SJA1000實(shí)現(xiàn)數(shù)據(jù)的接收和發(fā)送,同時AT89C52還實(shí)現(xiàn)與Profibus-DP總線接口的數(shù)據(jù)交換。為了增強(qiáng)CAN總線節(jié)點(diǎn)的抗干擾能力,SJA1000的TX0和RX0沒有與PCA82C250的TXD和RXD直接相連,而是經(jīng)光電隔離器件6N137后再與其相連。另外,高速光耦部分的2個電源VCC和VDD也要完全隔離[6]。圖3為CAN節(jié)點(diǎn)硬件電路。
軟件設(shè)計(jì)分為2部分,分別是Profibus-DP從站的數(shù)據(jù)通信和CAN節(jié)點(diǎn)的數(shù)據(jù)通信。
對Profibus-DP總線接口的軟件設(shè)計(jì)主要包括:SPC3的初始化和SPC3的中斷處理。其主程序和中斷程序流程分別如圖4和圖5所示。
圖4 主程序流程 圖5中斷程序流程
CAN節(jié)點(diǎn)接口的軟件設(shè)計(jì)與Profibus-DP從站接口的軟件設(shè)計(jì)基本相同,主要包括:1)初始化CAN控制器,包括硬件使能,軟件復(fù)位,設(shè)備報(bào)警界限,設(shè)備總線波特率,設(shè)備中斷工作方式,設(shè)備工作模式,CAN啟動等;2)CAN總線接口發(fā)送程序是由雙口RAM的中斷信號觸發(fā)的,當(dāng)CPU接收到雙口RAM的中斷信號后,清除中斷信號,判斷雙口RAM內(nèi)數(shù)據(jù)類型,通過寫命令發(fā)送相應(yīng)數(shù)據(jù);3)CAN總線接口接收程序中,系統(tǒng)以查詢方式接收CAN節(jié)點(diǎn)單元傳送的數(shù)據(jù),網(wǎng)關(guān)根據(jù)緩沖區(qū)的數(shù)據(jù)內(nèi)容判斷所要接收的數(shù)據(jù),并發(fā)送相關(guān)指令存儲到存儲單元[7]。
該通信單元完成Profibus-DP總線與CAN總線之間的協(xié)議轉(zhuǎn)換;數(shù)據(jù)傳輸可靠性高,傳輸速率高;有效解決由于西門子PLC和內(nèi)嵌CAN通信模塊的DSP采用不同總線通信方式而造成的西門子PLC和柴油發(fā)電機(jī)組控制系統(tǒng)之間不能直接通信的問題,進(jìn)一步完善電動鉆機(jī)控制系統(tǒng)的總線控制方式。
[1]張奇志,李 琳.電動鉆機(jī)自動化技術(shù)[M].北京:石油工業(yè)出版社,2006.
[2]李 琳,邵小華,張奇志,等.電動鉆機(jī)全數(shù)字控制系統(tǒng)發(fā)展現(xiàn)狀與趨勢[J].石油機(jī)械,2006,34(8):73-75.
[3]成 鋒,張福民,仝躍輝,等.柴油發(fā)電機(jī)綜合控制系統(tǒng)設(shè)計(jì)[J].中國設(shè)備工程,2008(10):52-54.
[4]袁孝純.現(xiàn)場總線PROFIBUS-DP與CAN互連的轉(zhuǎn)換接口設(shè)計(jì)[D].北京:北方工業(yè)大學(xué),2007.
[5]王旭輝,李杏春,王占國,等.基于SPC3的PROFIBUS-DP智能從站的設(shè)計(jì)[J].現(xiàn)場總線與網(wǎng)絡(luò),2008,27(4):81-82.
[6]饒運(yùn)濤,鄒繼軍,王進(jìn)宏,等.現(xiàn)場總線CAN原理與應(yīng)用技術(shù)[M].北京:北京航空航天出版社,2007.
[7]徐 丹,賴曉陽.PROFIBUS與CAN現(xiàn)場總線轉(zhuǎn)換接口及從站單元設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2008,21(5):41-42.