隨著網(wǎng)絡(luò)技術(shù)向工業(yè)控制領(lǐng)域的滲透,產(chǎn)生了工業(yè)控制網(wǎng)絡(luò),它廣泛地應(yīng)用于對(duì)生產(chǎn)、生活設(shè)備的控制,對(duì)生產(chǎn)過程的狀態(tài)檢測(cè)、監(jiān)視或控制,技術(shù)上要求具備高度的可靠性,實(shí)時(shí)性和安全性。它的網(wǎng)絡(luò)節(jié)點(diǎn)除了常規(guī)微機(jī)、工作站以外,更多的是具有計(jì)算與通信能力的智能電器設(shè)備和儀表。因此,智能電器的主要特征就是:產(chǎn)品內(nèi)嵌微處理器,有通信接口,能與現(xiàn)場(chǎng)總線連接,且采用網(wǎng)絡(luò)標(biāo)準(zhǔn)化結(jié)構(gòu)等,它不僅完成對(duì)現(xiàn)場(chǎng)的各種控制任務(wù),而且還肩負(fù)著各類信息的網(wǎng)絡(luò)遠(yuǎn)程采集、傳輸和控制功能,即實(shí)現(xiàn)信息控制與管理的網(wǎng)絡(luò)化。隨著目前控制網(wǎng)絡(luò)結(jié)構(gòu)形式的迅速發(fā)展,協(xié)議種類增多而協(xié)議標(biāo)準(zhǔn)各異,造成諸多問題,開始影響控制網(wǎng)絡(luò)的進(jìn)一步發(fā)展,而且也成為影響智能電器的研發(fā)、產(chǎn)品化、工程應(yīng)用與推廣的主要因素。因此,智能電器作為控制網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn),應(yīng)用場(chǎng)合往往是工業(yè)現(xiàn)場(chǎng),在目前多種總線系統(tǒng)并存的情況下,控制網(wǎng)絡(luò)的互聯(lián)技術(shù)和智能電器控制網(wǎng)絡(luò)規(guī)范研究成為用戶和廠家關(guān)心的焦點(diǎn)問題。目前的研究與應(yīng)用主要采用系統(tǒng)級(jí)集成(基于OPC的系統(tǒng)級(jí)集成方法)和設(shè)備級(jí)集成(基于網(wǎng)關(guān)的設(shè)備級(jí)集成)的方法來解決異構(gòu)控制網(wǎng)絡(luò)互連問題。
1 基于Devicenet總線的控制網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)
智能電器設(shè)備實(shí)現(xiàn)信息控制與管理的網(wǎng)絡(luò)化,就是從傳統(tǒng)的現(xiàn)場(chǎng)開關(guān)量、模擬量信號(hào)控制方式轉(zhuǎn)化為通過現(xiàn)場(chǎng)總線構(gòu)成的網(wǎng)絡(luò)控制方式,實(shí)現(xiàn)網(wǎng)絡(luò)化、開放式、分散式、全數(shù)字化控制?;贒evicenet總線的控制網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)如圖1所示,主要由三部分組成:DeviceNet總線、上位機(jī)(主站)和智能電器節(jié)點(diǎn)(從站)。

Devicenet是現(xiàn)場(chǎng)總線國(guó)際標(biāo)準(zhǔn)IEC61158的第二類總線的設(shè)備級(jí)網(wǎng)絡(luò),也是國(guó)際標(biāo)準(zhǔn)IEC 62026《低壓開關(guān)設(shè)備和控制設(shè)備控制器一設(shè)備接口(CDI)》所推薦的第二種總線。我國(guó)已公布國(guó)標(biāo)GB/T18858.3-2002等同采用該標(biāo)準(zhǔn)。DeviceNet是基于CAN總線技術(shù)的現(xiàn)場(chǎng)總線,它沿襲了CAN總線的短報(bào)文幀傳輸、無破壞性的總線仲裁技術(shù)、強(qiáng)大的故障診斷能力和抗干擾能力等優(yōu)點(diǎn),主要用于實(shí)時(shí)傳輸、控制數(shù)據(jù)。由于智能電器控制網(wǎng)絡(luò)系統(tǒng)中的通信數(shù)據(jù)量不大,有些信息的處理可以由智能電器節(jié)點(diǎn)本身實(shí)現(xiàn)就地控制。因此,可以充分利用DeviceNet特性,對(duì)通信數(shù)據(jù)進(jìn)行良好的配置以達(dá)到實(shí)時(shí)性、安全性和可靠性的要求。
上位機(jī)(包括Devicenet接口卡)實(shí)現(xiàn)智能電器與主機(jī)PC的高速數(shù)據(jù)交換,主要負(fù)責(zé)對(duì)整個(gè)智能電器控制網(wǎng)絡(luò)系統(tǒng)的管理和調(diào)度;同時(shí),主機(jī)可通過內(nèi)置網(wǎng)卡或Modem連接到以太網(wǎng),與以太網(wǎng)上其他總線組成的子網(wǎng)進(jìn)行數(shù)據(jù)交換。目前已有商品化的DeviceNet總線PC接口卡。
智能電器節(jié)點(diǎn)主要包括微處理器基本系統(tǒng)、采集控制邏輯、系統(tǒng)監(jiān)測(cè)與保護(hù),Devicenet通用I/0(含A/D,數(shù)字I/0)等,主要完成對(duì)現(xiàn)場(chǎng)信號(hào)檢測(cè)、參數(shù)顯示和控制任務(wù),它和傳統(tǒng)電器產(chǎn)品的本質(zhì)區(qū)別是內(nèi)嵌有具有控制與通信功能的DeviceNet通用I/0接口,它不僅是智能電器的組成部分,而且還可獨(dú)立作為DeviceNet網(wǎng)絡(luò)I/0設(shè)備,主要用于連接工業(yè)控制系統(tǒng)中的按鈕、開關(guān)、電磁閥、繼電器、指示燈、照明燈等各種現(xiàn)場(chǎng)裝置。由于其開發(fā)過程涉及DeviceNet核心協(xié)議內(nèi)容的實(shí)現(xiàn),是開發(fā)DeviceNet網(wǎng)絡(luò)智能電器的基礎(chǔ)。目前其開發(fā)途徑主要是以微處理器為平臺(tái),在確定DeviceNet通用I/0的功能和硬件構(gòu)成的基礎(chǔ)上,重點(diǎn)進(jìn)行DeviceNet協(xié)議棧及應(yīng)用層的軟件設(shè)計(jì)。
2 Devicenet通用軍0的硬件電路設(shè)計(jì)
硬件電路主要包括Devicenet總線通信接口和數(shù)據(jù)采集I/0兩部分,如圖2所示。

2.1 Devicenet總線通信接口
主要由微處理器、Devicenet接口、撥碼開關(guān)及LED顯示三部分組成。這部分主要實(shí)現(xiàn)與DeviceNet總線的接口以及報(bào)文的收發(fā)。
微處理器78E58是8位內(nèi)置看門狗的單片機(jī),與52單片機(jī)指令兼容并支持KeilC51編程,內(nèi)置256Byte的內(nèi)部RAM以及32kB的快閃存儲(chǔ)器,避免了由于外擴(kuò)程序存儲(chǔ)器而造成電路設(shè)計(jì)復(fù)雜的缺點(diǎn),不僅滿足Devicenet協(xié)議程序的容量要求,而且具有高速、在線程序下載等功能。
由于Devicenet是基于CAN總線的協(xié)議,它的數(shù)據(jù)鏈路層及物理層部分引用了CAN協(xié)議,所以DeviceNet接口是由獨(dú)立的CAN協(xié)議控制器SJA1000和收發(fā)器接口芯片82C250來實(shí)現(xiàn)的,其接口電路如圖3所示。DeviceNet接口在系統(tǒng)正常初始化后,當(dāng)總線上某一節(jié)點(diǎn)需要向總線發(fā)送信息時(shí),首先判斷總線是否處于空閑狀態(tài),在空閑時(shí)向總線發(fā)送已經(jīng)作好封裝的信息。在總線上的節(jié)點(diǎn)接收總線信息并進(jìn)行驗(yàn)收碼位的驗(yàn)收,判斷是否是發(fā)送到本節(jié)點(diǎn)的信息,是接收還是停止接收。當(dāng)SJA 1000接收完一幀信息后,SJA 1000產(chǎn)生中斷信號(hào),從而引起78E58的外部中斷,78E58從SJA1000的接收緩沖區(qū)取得接收信息,使接收緩沖區(qū)空出以便CAN節(jié)點(diǎn)接收新的信息。

撥碼開關(guān)及LED顯示由8位撥碼開關(guān)、數(shù)據(jù)緩沖器74HC245和2個(gè)LED組成。其中8位撥碼開關(guān)的二位用作Devicenet三種波特率的設(shè)定,六位作為智能電器節(jié)點(diǎn)地址的設(shè)定(總線最多可掛64個(gè)節(jié)點(diǎn))。2個(gè)LED的顯示組合用于顯示節(jié)點(diǎn)通信的狀態(tài)和I/0模塊的狀態(tài)。
2.2數(shù)據(jù)采集I/0電路
主要由AI/AO(模擬量輸入/輸出)DI/DO(數(shù)字量輸人/輸出)等組成,在單片機(jī)的控制下,通過Devicenet總線通信接口,將智能電器的各類數(shù)據(jù)發(fā)送給上位機(jī)或者將上位機(jī)的控制命令與數(shù)據(jù)輸入給智能電器。因此,本部分電路根據(jù)實(shí)際智能電器所具有的功能不同而不同。本設(shè)計(jì)采用了8路AI、2路AO和8路DI、8D0。AI通過CD4051距陣單元構(gòu)造的組合邏輯,由單片機(jī)進(jìn)行地址選通,經(jīng)過串行A/D MAX 1247進(jìn)行A/D轉(zhuǎn)換;D/A轉(zhuǎn)換由具有兩路模擬量輸出的MA X532實(shí)現(xiàn);數(shù)字量輸人/輸出由數(shù)據(jù)緩沖器74HC245/數(shù)據(jù)鎖存器74HC37和光耦組成。
另外,Devicenet總線上提供的電壓為+24V,而控制系統(tǒng)使用+5V,因此需要對(duì)總線電壓進(jìn)行轉(zhuǎn)換,采用DC-DC電源模塊HZD05 -24SOSJ實(shí)現(xiàn)24V到5V的單路轉(zhuǎn)換。
3 Devicenet應(yīng)用層協(xié)議分析及軟件設(shè)計(jì)
Devicenet協(xié)議規(guī)范是描述DeviceNet設(shè)備之間實(shí)現(xiàn)連接和交換數(shù)據(jù)的一套協(xié)議,采用面向?qū)ο蟮姆椒▉磉M(jìn)行描述。應(yīng)用層軟件設(shè)計(jì)需要在熟悉DeviceNet協(xié)議的基礎(chǔ)上,建立I/0節(jié)點(diǎn)設(shè)備的對(duì)象模型。清楚對(duì)象的屬性和行為、對(duì)象間的相互作用、對(duì)象的狀態(tài)轉(zhuǎn)變的觸發(fā)條件、不同狀態(tài)下對(duì)象可執(zhí)行的操作等,然后再進(jìn)行各個(gè)類的編寫及主程序的設(shè)計(jì)。
3.1 Devicenet的報(bào)文傳送
與通信鏈接有關(guān)的兩類報(bào)文I/0報(bào)文和顯式報(bào)文。I/0報(bào)文適用于實(shí)時(shí)性要求較高和面向控制的數(shù)據(jù)。I/0報(bào)文數(shù)據(jù)幀中的8字節(jié)數(shù)據(jù)場(chǎng)不包含任何與協(xié)議有關(guān)的信息,只有當(dāng)I/0報(bào)文為大報(bào)文經(jīng)過分割后形成的I/0報(bào)文片段時(shí),數(shù)據(jù)域中有一個(gè)字節(jié)由報(bào)文分段協(xié)議使用。連接標(biāo)識(shí)符提供了I/0報(bào)文的相關(guān)信息,在I/0報(bào)文利用連接標(biāo)識(shí)符發(fā)送之前,報(bào)文的發(fā)送和接收設(shè)備都必須先進(jìn)行設(shè)定。設(shè)定的內(nèi)容包括源和目的對(duì)象的屬性,以及數(shù)據(jù)生產(chǎn)者和消費(fèi)者的地址。顯式報(bào)文適用于2個(gè)設(shè)備間多用途的點(diǎn)對(duì)點(diǎn)報(bào)文傳遞,是典型的請(qǐng)求-響應(yīng)通信方式,常用于節(jié)點(diǎn)的配置、問題診斷等,如設(shè)定屬性、獲取屬性等。
3.2 I/0節(jié)點(diǎn)設(shè)備的對(duì)象模型描述
每個(gè)設(shè)備為一個(gè)節(jié)點(diǎn),節(jié)點(diǎn)是對(duì)象集合的模型。節(jié)點(diǎn)中定義了一定數(shù)量的對(duì)象類、實(shí)例屬性及行為。模型為每個(gè)屬性提供了由4個(gè)數(shù)字組成的尋址方案,分別是節(jié)點(diǎn)地址(MAC ID)、對(duì)象類標(biāo)識(shí)符、實(shí)例編號(hào)和屬性編號(hào)。這4級(jí)地址與顯示報(bào)文連接相結(jié)合,將數(shù)據(jù)從Devicenet網(wǎng)絡(luò)上的一點(diǎn)傳送到另一點(diǎn)。本設(shè)計(jì)節(jié)點(diǎn)設(shè)備的對(duì)象模型如圖4所示。其中應(yīng)用對(duì)象有:8個(gè)模擬量輸人對(duì)象,2個(gè)模擬量輸出對(duì)象、8個(gè)數(shù)字量輸人對(duì)象、8個(gè)數(shù)字量輸出對(duì)象,每個(gè)對(duì)象對(duì)應(yīng)一個(gè)真實(shí)的輸人/輸出點(diǎn)??梢?,它定義設(shè)備對(duì)外部物理接口的行為,如與其他設(shè)備的連接等。

連接對(duì)象(Connection bbbbbb):分配和管理與I/0信息和顯式信息連接有關(guān)的內(nèi)部資源。所有的服務(wù)、屬性均可使用顯式信息連接來獲取。I/0連接對(duì)象負(fù)責(zé)接收主站下發(fā)的輪詢命令報(bào)文,并發(fā)送輪詢響應(yīng)報(bào)文給主站;顯式連接對(duì)象負(fù)責(zé)接收主站下發(fā)的顯式請(qǐng)求報(bào)文,并發(fā)送顯式響應(yīng)報(bào)文和未連接響應(yīng)報(bào)文給主站以建立連接。
報(bào)文路由對(duì)象(Message Router bbbbbb):路由器顯式報(bào)文相對(duì)應(yīng)的對(duì)象,可將報(bào)文路由器到設(shè)備中任何對(duì)象或?qū)嵗耐ㄐ胚B接點(diǎn)。
標(biāo)識(shí)對(duì)象(Identity bbbbbb):提供設(shè)備的,一般標(biāo)識(shí)信息。標(biāo)識(shí)對(duì)象的實(shí)例屬性在主站掃描時(shí)通過顯式報(bào)文讀人,主站通過這些屬性值識(shí)別節(jié)點(diǎn)的類型。標(biāo)識(shí)對(duì)象包括供貨商ID,設(shè)備類型、產(chǎn)品代碼、產(chǎn)品名稱以及設(shè)備版本等。
設(shè)備網(wǎng)對(duì)象(Devicenet bbbbbb):提供物理連接的狀態(tài)和配置重要信息,其實(shí)例屬性包括介質(zhì)訪問控制標(biāo)識(shí)符(MAC ID)和波特率等。另外,還負(fù)責(zé)組2未連接顯式請(qǐng)求報(bào)文的接收和節(jié)點(diǎn)地址重復(fù)檢測(cè)報(bào)文的收發(fā)。
除上述四項(xiàng)所有節(jié)點(diǎn)設(shè)備必須的對(duì)象以外,針對(duì)不同的Devicenet節(jié)點(diǎn),應(yīng)設(shè)置不同的組合對(duì)象、參數(shù)對(duì)象和應(yīng)用對(duì)象。參數(shù)對(duì)象用于在帶有可配制參數(shù)的設(shè)備中,參數(shù)對(duì)象為配制工具訪問所有參數(shù)提供標(biāo)準(zhǔn)的方法。
組合對(duì)象的主要任務(wù)是將來自不同應(yīng)用對(duì)象的不同屬性組合成一個(gè)能夠隨單個(gè)報(bào)文傳送的屬性。設(shè)備的輸人/輸出數(shù)據(jù)利用組合對(duì)象來結(jié)構(gòu)化,其實(shí)例屬性定義了數(shù)據(jù)是輸人還是輸出,并定義了數(shù)據(jù)來源(應(yīng)用對(duì)象的類編號(hào)、實(shí)例編號(hào)和屬性)。本設(shè)計(jì)組合對(duì)象有:輪詢輸入組合對(duì)象,負(fù)責(zé)把8個(gè)模擬量/8個(gè)數(shù)字量輸人對(duì)象的數(shù)據(jù)打包,供I/0輪詢連接對(duì)象使用;輪詢輸出組合對(duì)象,負(fù)責(zé)把I/0輪詢連接對(duì)象收到的數(shù)字量輸出和模擬量輸出解包,供開關(guān)量輸出對(duì)象和模擬量輸出對(duì)象使用?!?BR>
例如,對(duì)8個(gè)模擬量采樣輸入,并將數(shù)據(jù)存儲(chǔ)在該對(duì)象的VALUE屬性中,可由外部命令(輸入狀態(tài)改變,周期數(shù)據(jù)觸發(fā)器等)觸發(fā)模擬值的采樣。模擬量輸人點(diǎn)對(duì)象的實(shí)例、屬性的定義如表1所示。在此實(shí)例屬性中,有一個(gè)可配置的屬性(ID=7),因此可選擇一個(gè)參數(shù)對(duì)象,提供一個(gè)到設(shè)備設(shè)置數(shù)據(jù)的公共接口08輸入8輸出數(shù)字I/0數(shù)據(jù),選擇的實(shí)例為組合實(shí)例4和組合實(shí)例34,組合實(shí)例數(shù)據(jù)的屬性格式如表2所示。












