DeviceNet是20世紀90年代中期發(fā)展起來的一種現(xiàn)場總線,物理層和數(shù)據(jù)鏈路層采用CAN技術(shù),是一種應用于底層工業(yè)設(shè)備互聯(lián)的總線。它具有效率高、成本低和可靠性高的優(yōu)點,目前已成為工業(yè)自動化領(lǐng)域的標準網(wǎng)絡(luò)之一。將DeviceNet總線接口集成到控制器'>控制器中,實現(xiàn)控制器'>控制器與控制網(wǎng)絡(luò)通信,是控制器發(fā)展的一個重要趨勢。現(xiàn)在國內(nèi)生產(chǎn)的低壓斷路器'>斷路器控制器與控制網(wǎng)絡(luò)通信一般采用自定義協(xié)議,存在通信可靠性低、互換性差等缺點,鑒于此,本文設(shè)計了一種基于DeviceNet協(xié)議的新型低壓斷路器'>斷路器智能'>智能控制器。
1智能'>智能控制器功能
該低壓斷路器智能控制器主要實現(xiàn)2個功能:一是采樣線路的電流、電壓信號,并對信號處理后輸出相應的保護動作;二是實現(xiàn)與DeviceNet網(wǎng)絡(luò)節(jié)點之間的通信。因此,按功能分析,智能控制器包括2個部分:控制模塊和通信模塊。控制模塊主要實現(xiàn)信號采集、保護判斷、保護動作等功能。通信模塊即DeviceNet通信接口,主要完成與DeviceNet網(wǎng)絡(luò)節(jié)點之間顯性報文和I/O報文的交換。該控制器是一個從設(shè)備,它與外部交互的數(shù)據(jù)有2種:一種是從DeviceNet網(wǎng)絡(luò)上接收的數(shù)據(jù),該數(shù)據(jù)必須是針對本設(shè)備的,不是針對本設(shè)備的數(shù)據(jù)不接收;一種是本設(shè)備根據(jù)請求向DeviceNet網(wǎng)絡(luò)上發(fā)送的數(shù)據(jù),該數(shù)據(jù)必須符合DeviceNet協(xié)議,這也是最后產(chǎn)品測試的主要部分[1]。
2硬件設(shè)計
該智能控制器硬件主要由DSP及外圍電路構(gòu)成的最小系統(tǒng)、控制模塊和通信模塊3個部分組成,如圖1所示。
2.1DSP及外圍電路構(gòu)成的最小系統(tǒng)
DSP及外圍電路構(gòu)成的最小系統(tǒng)有電源電路、復位電路、JTAG仿真電路、時鐘電路。DSP選用TMS320LF2407,它是一款高性能的定點16位DSP芯片,時鐘頻率最高可達40MHz,從而提高了控制器的實時控制能力;片內(nèi)有高達32KB的FLASH程序存儲器、高達1.5KB的數(shù)據(jù)/程序RAM、544B的雙口RAM和2KB的單口RAM,可以不用外擴存儲器;內(nèi)置看門狗定時器模塊、16通道10位A/D轉(zhuǎn)換器(最小轉(zhuǎn)換時間為500ns)、控制器局域網(wǎng)絡(luò)(CAN)模塊,完全支持CAN2.0B[2]。
2.2控制模塊
控制模塊由信號采樣調(diào)理電路、鍵盤電路、液晶顯示電路、輸出控制脫扣器電路等組成。
(1)信號采樣調(diào)理電路
信號采樣調(diào)理電路主要通過電壓、電流互感器采樣斷路器所在線路的電壓和電流信號,送到TMS320IF2407的A/D口,如圖2所示,由于TMS320IF2407的工作電壓是0~3.3V,因此需要對采樣信號進行預處理。電壓和電流采樣信號為6路模擬量,包括線路的3個線電流和3個線電壓。
LM324設(shè)計成運算放大器,調(diào)節(jié)放大倍數(shù)可以調(diào)節(jié)輸入信號的幅值;同時加入基準電壓,通過調(diào)節(jié)電位器可以調(diào)節(jié)輸入信號的零點,從而可得到比較理想的輸入信號。信號在接入TMS320LF2407之前應進行電容濾波和二極管限壓。
(2)鍵盤電路
鍵盤電路除實現(xiàn)電流、電壓等參數(shù)設(shè)置外,同時還可對DeviceNet節(jié)點地址和通信波特率進行設(shè)置。節(jié)點地址范圍是0~63MACID,通信波特率為125kbit/s、250kbit/s、500kbit/s三種。
(3)液晶顯示電路
液晶顯示電路采用液晶顯示模塊OCMJ4X8C實現(xiàn),它是128×64點陣的漢字圖形型液晶顯示模塊,可顯示漢字及圖形,內(nèi)置8192個中文漢字(16×16點陣)、128個字符(8×16點陣)、64×256點陣顯示RAM(GDRAM)及ST7920控制器'>控制器。
(4)輸出控制脫扣器電路
輸出控制脫扣器電路如圖3所示,其作用是出現(xiàn)故障時,控制器'>控制器輸出控制信號驅(qū)動脫扣器動作,切除故障電路。控制原理是每2ms采樣一次線路的電流和電壓,根據(jù)采樣值判斷保護是否動作,若出現(xiàn)斷相、短路和漏電故障,則立即切斷電路;若出現(xiàn)過流、過壓和欠壓故障,將采樣的電流值和電壓值與設(shè)定值比較,從而得出延時時間值,延時時間到則保護動作。在開關(guān)量輸出通道中,為防止現(xiàn)場強電磁干擾或工頻電壓通過輸出通道反串到測控系統(tǒng),一般采用光電隔離技術(shù),可以有效地隔離電信號,提高抗干擾性。
2.3通信模塊
TMS320LF2407芯片內(nèi)置CAN控制器模塊,外圍電路只需連接收發(fā)器即可。CAN控制器模塊是一個完全的CAN控制器,是一個16位的外設(shè)模塊,有以下特性1)完全支持CAN2.0B協(xié)議;(2)有6個郵箱;(3)當發(fā)送時出現(xiàn)錯誤或仲裁時丟失數(shù)據(jù),CAN控制器有自動重發(fā)功能;(4)總線錯誤診斷功能。
筆者在設(shè)計硬件電路時將CAN控制器的2個引腳CANRXD和CANTXD通過高速光電耦合器6N137接到收發(fā)器PCA82C250上,即可實現(xiàn)向上位機發(fā)送和接收數(shù)據(jù)的功能。CAN接口電路如圖4所示。
3軟件設(shè)計
智能'>智能控制器'>控制器軟件主要由控制程序和通信接口程序組成。控制程序?qū)崿F(xiàn)數(shù)據(jù)采集、液晶顯示、輸出控制、鍵盤操作和狀態(tài)指示。
通信程序則完成與其它DeviceNet節(jié)點的通信。軟件采用模塊化設(shè)計,單個功能獨立調(diào)試,全部完成后放在一起聯(lián)調(diào),具有設(shè)計明確、調(diào)試方便的優(yōu)點。
3.1控制程序設(shè)計
控制程序主要包括主循環(huán)程序、A/D采樣中斷程序2個部分。主循環(huán)程序以循環(huán)掃描的方式實現(xiàn)通信處理、保護算法、濾波算法、有效值計算、LCD顯示、鍵盤處理等功能,其流程如圖5所示,系統(tǒng)初始化后,首先進行上電MACID檢測,進入主循環(huán),然后進行鍵盤操作判斷,再執(zhí)行其它的功能程序。為了保證A/D采樣的實時性,A/D采樣程序采用定時器中斷的方法實現(xiàn)。定時器中斷程序采用事件管理器A中的定時器2,定時器2定時時間到就觸發(fā)A/D采樣,設(shè)置A/D的采樣間隔為2ms。程序除了實現(xiàn)A/D采樣和轉(zhuǎn)換外,還能實現(xiàn)斷相、短路和漏電瞬動保護[3]。A/D采樣中斷程序如圖6所示。
3.2通信接口程序設(shè)計
根據(jù)該智能'>智能控制器'>控制器的I/O數(shù)據(jù)應用特點和DeviceNet協(xié)議要求,確定通信接口的DeviceNet設(shè)備屬于DeviceNetGroup2Only從設(shè)備,采用Predefine的通信連接,支持I/O輪詢報文和顯性報文。因為是一個從設(shè)備,除了進行上電MACID檢測外,它不會主動向網(wǎng)絡(luò)上發(fā)送數(shù)據(jù),而只會根據(jù)接收的數(shù)據(jù)請求發(fā)送相應的數(shù)據(jù)響應。由于主設(shè)備發(fā)送的請求是無法預知的,提高軟件執(zhí)行效率的最好方法就是采用事件驅(qū)動方式,事件由外部中斷或程序內(nèi)部產(chǎn)生。通信程序主要由2個部分組成:一是收發(fā)網(wǎng)絡(luò)上的數(shù)據(jù),二是處理接收的數(shù)據(jù)并發(fā)送響應數(shù)據(jù)[4]。
(1)智能控制器的對象模型eviceNet協(xié)議采用對象的概念和面向?qū)ο蟮姆椒ńM織設(shè)備內(nèi)外部的數(shù)據(jù)信息和通信功能。其中標識對象、路由器對象和DeviceNet對象是每個DevcieNet設(shè)備都必須包括的對象。下面的連接對象、組合對象和斷路器'>斷路器應用對象是針對本設(shè)備設(shè)計的對象。連接對象包括2個實例:顯性報文連接對象和I/O輪詢連接對象。斷路器'>斷路器應用對象提供斷路器專有的信息接口,完成斷路器的控制功能。組合對象包括2個對象實例:輸入組合對象負責將來自斷路器應用對象的數(shù)據(jù)打包、處理并封裝,供I/O輪詢連接對象使用;輸出組合對象將來自I/O輪詢連接對象要向斷路器應用對象發(fā)送的數(shù)據(jù)解包、處理并封裝,供應用對象使用。
采用的對象模型如圖7所示。
(2)報文的接收:采用CAN通信中斷方式。CAN控制器'>控制器的每個郵箱都有標識符,根據(jù)標識符給郵箱分配某一類報文。本文中0~3號郵箱分別接收顯性報文、輪詢I/O報文、非連接顯性報文和重復檢測報文。郵箱5處理公共數(shù)據(jù)報文發(fā)送。CAN接收中斷程序流程如圖8所示。
CAN接收中斷程序是當發(fā)生CAN通信中斷時將郵箱接收的報文存入一個臨時緩沖區(qū),置位相應的接收標志位。該緩沖區(qū)作為上層協(xié)議處理和下層數(shù)據(jù)收發(fā)的接口。每一種報文的接收處理程序?qū)⒕彌_區(qū)的數(shù)據(jù)拷貝到相應的報文接收緩沖區(qū),并置位相應的報文接收標志位。對于分段報文,當所有的報文接收完畢后,置位相應的報文接收標志。主程序中查詢該報文接收標志位,當該報文接收標志位置1時進行相應的報文處理。
(3)報文的處理
顯性報文主要用于節(jié)點配置時主站讀取和設(shè)置斷路器'>斷路器控制器'>控制器從站的電壓、電流等對象實例屬性。所以對顯性報文的處理過程是收到顯性報文后,首先讀取路徑并路由到目的地,讀取相應的服務代碼,如果支持則采取相應的動作(設(shè)置屬性、讀取屬性或復位),并將響應數(shù)據(jù)放到發(fā)送緩沖區(qū),置位請求發(fā)送標志位;如果不支持,就將錯誤代碼和附加代碼放到發(fā)送緩沖區(qū),置位請求發(fā)送標志位。對I/O報文的處理:如果輪詢還未建立,智能'>智能控制器節(jié)點將不接收主站發(fā)送來的輪詢命令;如果輪詢處于已建立狀態(tài),智能'>智能控制器節(jié)點將接收該輪詢命令,并將它作為一個觸發(fā)事件,然后將組合對象實例的數(shù)據(jù)屬性值作為輪詢響應數(shù)據(jù)發(fā)送出去。
(4)報文的發(fā)送
報文的發(fā)送主要用于發(fā)送響應數(shù)據(jù)。報文的發(fā)送過程是主程序檢測郵箱5(郵箱5為發(fā)送郵箱)鎖存標志位是否為0,如果為0,將數(shù)據(jù)從發(fā)送緩沖區(qū)轉(zhuǎn)移到郵箱5;當轉(zhuǎn)移完畢后,置位郵箱5的鎖存標志位并設(shè)置數(shù)據(jù)長度,當發(fā)送的數(shù)據(jù)大于8B時,要執(zhí)行分段發(fā)送;然后請求發(fā)送報文,發(fā)送完畢后將發(fā)送請求標志位清0[5]。
4一致性檢測
在完成以上的設(shè)計工作后,該智能控制器需要通過ODVA的協(xié)議兼容性測試,以確保產(chǎn)品的協(xié)議完整性、互操作性和互換性。首先搭建一致性測試平臺,測試平臺主要有1套SST公司DeviceNet調(diào)試環(huán)境、2臺計算機、DeviceNet接口卡———5136-DN,測試軟件是ODVA提供的A15版本。協(xié)議的一致性測試結(jié)果可以看最終生成的log文件,因為測試過程中日志文件記錄了報文的交換信息,圖9為一致性測試結(jié)果圖。從圖9可以看出,該智能控制器通過了DeviceNet一致性軟件測試。
本文在網(wǎng)絡(luò)互操作性測試中互連的DeviceNet設(shè)備有5個,測試結(jié)果如下1)將該智能控制器連接到網(wǎng)絡(luò)中,測試過程一切正常。(2)設(shè)置2個智能控制器的MACID相同,將它們接入控制網(wǎng)絡(luò),發(fā)現(xiàn)后接入的控制器網(wǎng)絡(luò)指示燈變成紅色,表明發(fā)生網(wǎng)絡(luò)沖突。(3)將智能控制器和其它DeviceNet設(shè)備接入網(wǎng)絡(luò),測試一段時間,沒有發(fā)生異常情況。
5結(jié)語
DeviceNet總線在工業(yè)生產(chǎn)中的應用越來越廣泛,開發(fā)具有DeviceNet總線接口的控制器有很好的通用性。本文介紹的基于DeviceNet協(xié)議的新型低壓斷路器'>斷路器智能控制器不僅實現(xiàn)了斷相、短路和漏電故障的瞬時保護,還實現(xiàn)了DeviceNet總線通信。實驗運行結(jié)果表明,該智能控制器具有保護功能完善、性能可靠和操作方便等特點,有很大的市場推廣價值。