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