時(shí)間:2009-12-28 14:40:24來源:yangliu
摘要:介紹了一種運(yùn)用工業(yè)以太網(wǎng)技術(shù)的過程控制系統(tǒng)及其網(wǎng)絡(luò)應(yīng)用層協(xié)議的設(shè)計(jì)思想。控制系統(tǒng)的網(wǎng)絡(luò)架構(gòu)分為兩層;以太網(wǎng)節(jié)點(diǎn)的硬件基于ARM7內(nèi)核的處理器;軟件基于uClinux嵌入式操作系統(tǒng);網(wǎng)絡(luò)的應(yīng)用層協(xié)議自行定義,由C語言實(shí)現(xiàn)。經(jīng)現(xiàn)場運(yùn)行調(diào)試,控制系統(tǒng)和以太網(wǎng)節(jié)點(diǎn)均能穩(wěn)定運(yùn)行,且應(yīng)用層協(xié)議的實(shí)時(shí)性及容錯(cuò)性是能夠得到保障的。
關(guān)鍵詞:工業(yè)以太網(wǎng),控制系統(tǒng),網(wǎng)絡(luò)架構(gòu),通信,應(yīng)用層協(xié)議
引言
近年來,隨著計(jì)算機(jī)、通信、網(wǎng)絡(luò)等信息技術(shù)的發(fā)展,信息交換的領(lǐng)域已經(jīng)覆蓋了工廠、企業(yè)乃至世界各地的市場。因此,需要建立包括從工業(yè)現(xiàn)場設(shè)備層到控制層、管理層等各個(gè)層次的綜合自動化網(wǎng)絡(luò)平臺,建立以工業(yè)控制網(wǎng)絡(luò)技術(shù)為基礎(chǔ)的企業(yè)信息化系統(tǒng)。
現(xiàn)在以太網(wǎng)正悄悄地進(jìn)入了控制領(lǐng)域。近來以太網(wǎng)更是走向前臺,發(fā)展迅速。以太網(wǎng)已經(jīng)成為目前市場上最受歡迎的通信網(wǎng)絡(luò)之一,它在工業(yè)控制領(lǐng)域管理層和控制層等中上層網(wǎng)絡(luò)通信中得到了廣泛應(yīng)用,并有直接向下延伸應(yīng)用于工業(yè)現(xiàn)場設(shè)備間通信的趨勢。
傳統(tǒng)以太網(wǎng)是建立在IEEE802.3及TCP/IP基礎(chǔ)上的。但由于工業(yè)應(yīng)用的特殊性,工業(yè)以太網(wǎng)對實(shí)時(shí)性、抗干擾性以及環(huán)境等因素具有很高的要求,原有商業(yè)以太網(wǎng)的技術(shù)難以滿足其需要。這就需要在原有基礎(chǔ)上再建立一套行之有效的應(yīng)用層協(xié)議來滿足特定的工業(yè)環(huán)境。國際上現(xiàn)已有多種工業(yè)以太網(wǎng)應(yīng)用層協(xié)議,如Ethernet/IP、Modbus-IDA、Profinet等。我國的標(biāo)準(zhǔn)EPA受國家“863”計(jì)劃支持,已由多家權(quán)威部門共同制訂而成。
誠然上述多種標(biāo)準(zhǔn)技術(shù)成熟、且都有大公司背景,但其技術(shù)相對較復(fù)雜、有一定門檻、且配套設(shè)備成本較高,這就對實(shí)際應(yīng)用與維護(hù)有較高要求,所以適用于大型系統(tǒng)。而有些控制系統(tǒng)并不需要復(fù)雜的網(wǎng)絡(luò)架構(gòu)、且應(yīng)用簡單、要求成本低,可以考慮為其設(shè)計(jì)一套簡潔高效、且成本低廉的方案。下面就為大家介紹筆者自行設(shè)計(jì)的工業(yè)以太網(wǎng)控制系統(tǒng)及其應(yīng)用層協(xié)議。
1 控制系統(tǒng)架構(gòu)
1.1 控制系統(tǒng)網(wǎng)絡(luò)架構(gòu)
控制系統(tǒng)網(wǎng)絡(luò)架構(gòu)如圖1所示??刂茖釉O(shè)備通過以太網(wǎng)相互通信,設(shè)備層設(shè)備通過串口相互通信。監(jiān)控站可為PC,現(xiàn)場設(shè)備可為閥門、傳感器等。
1.2 以太網(wǎng)節(jié)點(diǎn)的硬件結(jié)構(gòu)
以太網(wǎng)節(jié)點(diǎn)可使現(xiàn)場設(shè)備能與監(jiān)控站相互通信,它可對應(yīng)用層協(xié)議進(jìn)行解析。其硬件結(jié)構(gòu)如圖2所示。CPU為三星公司基于ARM7TDMI內(nèi)核的S3C44B0X處理器,RTL8019AS負(fù)責(zé)以太網(wǎng)通信功能。
1.3 以太網(wǎng)節(jié)點(diǎn)的軟件結(jié)構(gòu)
以太網(wǎng)節(jié)點(diǎn)的軟件結(jié)構(gòu)如圖3所示。最底層的Bootloader為匯編與C混編的程序,完成系統(tǒng)的初始化工作并將系統(tǒng)控制權(quán)交給操作系統(tǒng)。uClinux為嵌入式操作系統(tǒng),小巧且繼承了Linux系統(tǒng)優(yōu)秀的特性,由于它自帶網(wǎng)絡(luò)功能,所以應(yīng)用程序可以方便地在此基礎(chǔ)上開發(fā)出網(wǎng)絡(luò)應(yīng)用。
2 應(yīng)用層協(xié)議的設(shè)計(jì)
2.1概述
此協(xié)議為用于工業(yè)以太網(wǎng)控制系統(tǒng)的應(yīng)用層協(xié)議,基于TCP/IP協(xié)議之上。工業(yè)以太網(wǎng)節(jié)點(diǎn)作為該協(xié)議解析器?,F(xiàn)場設(shè)備可通過連接以太網(wǎng)節(jié)點(diǎn)具有網(wǎng)絡(luò)通信功能?,F(xiàn)場設(shè)備、節(jié)點(diǎn)和上層監(jiān)控系統(tǒng)進(jìn)行通信時(shí)信息幀格式必須符合應(yīng)用層協(xié)議的要求。
2.2基本概念
2.2.1 類
在一個(gè)控制系統(tǒng)中不止有一種設(shè)備,這就需要對它們進(jìn)行歸類,以便監(jiān)控系統(tǒng)能方便地對它們進(jìn)行識別與控制,并且各個(gè)現(xiàn)場設(shè)備間也能進(jìn)行互相通信。
在本協(xié)議中用類ID來對各種現(xiàn)場設(shè)備進(jìn)行識別,它的范圍為1~254。
2.2.2 對象
在一個(gè)控制系統(tǒng)中,一類設(shè)備可能不止一臺,我們用對象來定義一類設(shè)備中的每個(gè)實(shí)例。它的范圍為1~254。
注:系統(tǒng)默認(rèn)上層主監(jiān)控站的類ID與對象ID為(0,0)。系統(tǒng)廣播的類ID與對象ID為(255,255)。
2.2.3關(guān)聯(lián)節(jié)點(diǎn)
我們可以設(shè)置一個(gè)以太網(wǎng)節(jié)點(diǎn)的關(guān)聯(lián)節(jié)點(diǎn),最多十個(gè)。關(guān)聯(lián)節(jié)點(diǎn)可理解為能同該節(jié)點(diǎn)協(xié)同工作的節(jié)點(diǎn)。當(dāng)該節(jié)點(diǎn)產(chǎn)生某種行為如發(fā)生故障時(shí),該節(jié)點(diǎn)能及時(shí)通知關(guān)聯(lián)節(jié)點(diǎn)使之采取相應(yīng)的措施,從而使系統(tǒng)能更好的工作。
2.2.4 參數(shù)設(shè)置
以太網(wǎng)節(jié)點(diǎn)是本協(xié)議中類ID與對象ID的載體。每臺節(jié)點(diǎn)在使用前都要對它的參數(shù)進(jìn)行設(shè)置,包括它的類ID、對象ID以及其關(guān)聯(lián)節(jié)點(diǎn)等。這個(gè)工作由PC上的配置軟件來完成,將PC與節(jié)點(diǎn)用串口相連,PC上的配置軟件通過相應(yīng)的協(xié)議對節(jié)點(diǎn)進(jìn)行設(shè)置。
2.2.5 握手
設(shè)備在進(jìn)行通信前先確認(rèn)一下連接是否正常,此過程為握手。在本系統(tǒng)中握手分兩階段進(jìn)行。
首先,上位機(jī)則處于等待狀態(tài)中,以太網(wǎng)節(jié)點(diǎn)上電經(jīng)過一個(gè)隨機(jī)時(shí)間后主動發(fā)送握手信息給上位機(jī)。當(dāng)上位機(jī)收到握手信號后立即回復(fù)信息。握手時(shí)節(jié)點(diǎn)需將其類ID、對象ID以及IP地址發(fā)給監(jiān)控站,監(jiān)控站將節(jié)點(diǎn)的信息存入數(shù)據(jù)庫,以備查詢。
節(jié)點(diǎn)與監(jiān)控站握手成功后再通過串口與現(xiàn)場設(shè)備進(jìn)行握手。
只有兩階段握手都成功后,節(jié)點(diǎn)才能進(jìn)入下階段工作。
2.2.6 信息幀格式
本協(xié)議中信息幀主要分為兩種:數(shù)據(jù)幀與命令幀。
數(shù)據(jù)幀為一般的I/O信息,而命令幀則包含控制、查詢及設(shè)置等命令。
在本協(xié)議中控制層與設(shè)備層的信息幀格式略有不同。節(jié)點(diǎn)與監(jiān)控站之間傳輸?shù)臑榭刂茖有畔鼈兛捎晒?jié)點(diǎn)轉(zhuǎn)換成設(shè)備層信息幀。節(jié)點(diǎn)與現(xiàn)場設(shè)備間傳輸?shù)臑樵O(shè)備層信息幀,它們是現(xiàn)場設(shè)備能讀得懂的原始信息,可由節(jié)點(diǎn)封裝成控制層信息幀。兩層協(xié)議的差異將在下節(jié)提及。
2.3協(xié)議詳解
2.3.1 數(shù)據(jù)幀
7E為幀頭;若該幀為設(shè)備層信息幀,則不包含類ID與對象ID;長度為所包含的數(shù)據(jù)長度;校驗(yàn)為除校驗(yàn)字節(jié)之外所有字節(jié)的異或結(jié)果。
2.3.2 命令幀
7F為幀頭;若該幀為設(shè)備層信息幀,則不包含類ID與對象ID;長度為所包含的命令長度;校驗(yàn)為除校驗(yàn)字節(jié)之外所有字節(jié)的異或結(jié)果。
2.3.3 參數(shù)設(shè)置信息幀
每臺以太網(wǎng)節(jié)點(diǎn)在投入工作前都要進(jìn)行參數(shù)設(shè)置,該工作按照特定的協(xié)議進(jìn)行。
設(shè)置參數(shù)時(shí)將節(jié)點(diǎn)與PC相連,通過配置軟件對節(jié)點(diǎn)進(jìn)行設(shè)置。它們在通信前先要進(jìn)行握手,然后再進(jìn)行配置信息的傳輸。具體協(xié)議如下:
PCà節(jié)點(diǎn):握手命令,命令00。
節(jié)點(diǎn)àPC:一般回復(fù)命令,命令B0。
PCà節(jié)點(diǎn):配置命令,命令01。
節(jié)點(diǎn)àPC:一般回復(fù)命令,命令B1。
2.3.4 控制系統(tǒng)中通信的握手協(xié)議
控制系統(tǒng)中的各個(gè)以太網(wǎng)節(jié)點(diǎn)在上電后都要與監(jiān)控站進(jìn)行握手,以確保連接正常,之后才能進(jìn)行協(xié)議轉(zhuǎn)換等通信工作。在與監(jiān)控站握手成功后再與現(xiàn)場設(shè)備進(jìn)行握手,兩次握手均成功后才能進(jìn)行正常通信。若設(shè)備層有故障,則以太網(wǎng)節(jié)點(diǎn)向主監(jiān)控站發(fā)送錯(cuò)誤報(bào)告。
協(xié)議具體內(nèi)容如下:
節(jié)點(diǎn)à監(jiān)控站:握手信息,發(fā)送參數(shù),命令02。
監(jiān)控站à節(jié)點(diǎn):回復(fù)命令,命令B2。
節(jié)點(diǎn)à現(xiàn)場設(shè)備:握手信息,命令03。
現(xiàn)場設(shè)備à節(jié)點(diǎn):回復(fù)命令,命令B3。
2.3.5 錯(cuò)誤報(bào)警機(jī)制
當(dāng)現(xiàn)場設(shè)備或連接線路發(fā)生故障時(shí),節(jié)點(diǎn)將向監(jiān)控站發(fā)送錯(cuò)誤報(bào)告。
節(jié)點(diǎn)à監(jiān)控站或關(guān)聯(lián)節(jié)點(diǎn):錯(cuò)誤報(bào)告命令,命令E0。
現(xiàn)場設(shè)備亦可主動向節(jié)點(diǎn)發(fā)送錯(cuò)誤報(bào)告,再由節(jié)點(diǎn)發(fā)送至監(jiān)控站。
現(xiàn)場設(shè)備à以太網(wǎng)節(jié)點(diǎn):現(xiàn)場設(shè)備或連接線路發(fā)生故障,命令E0。
2.3.6 設(shè)備層可靠性保障機(jī)制
設(shè)備層中的信息通過串口傳送,串口兩端的設(shè)備在向?qū)Ψ桨l(fā)送信息后,都會等待對方的應(yīng)答幀,只有在收到應(yīng)答幀后通信才算成功。當(dāng)經(jīng)過一段時(shí)間仍未收到應(yīng)答幀時(shí),發(fā)送方須重新發(fā)送信息給對方。當(dāng)節(jié)點(diǎn)察覺重發(fā)多次后仍無回音時(shí),則會向監(jiān)控站報(bào)告錯(cuò)誤。
現(xiàn)場設(shè)備ßà以太網(wǎng)節(jié)點(diǎn):設(shè)備層應(yīng)答幀,命令B4。
3 總結(jié)
經(jīng)過一段時(shí)間的現(xiàn)場運(yùn)行調(diào)試,該系統(tǒng)運(yùn)行穩(wěn)定。即使系統(tǒng)在通信繁忙的情況下亦能穩(wěn)定可靠的工作。當(dāng)通信因發(fā)生數(shù)據(jù)丟失而中斷時(shí),系統(tǒng)可迅速恢復(fù)工作。這說明工業(yè)以太網(wǎng)的架構(gòu)以及以太網(wǎng)節(jié)點(diǎn)的軟硬件結(jié)構(gòu)是合理有效的。另一方面,該系統(tǒng)的應(yīng)用層協(xié)議也表現(xiàn)出了穩(wěn)定高效的性能,不僅簡單實(shí)用,而且易于實(shí)現(xiàn)、擴(kuò)展性強(qiáng)。我國以太網(wǎng)的應(yīng)用尚處于起步階段,相信本文提出的方案能被同行所借鑒。
參考文獻(xiàn)
[1] IEEE Standard 802.3 Part 3: Carrier sense multiple access with collision detection (CSMA/CD) access method and physical layer specifications 2002.
[2] 劉崢嶸,張智超,許振山,等. 嵌入式Linux應(yīng)用開發(fā)詳解[M]. 北京:機(jī)械工業(yè)出版社,2004
[3] 李駒光,張華. 基于ARM的工業(yè)以太網(wǎng)控制系統(tǒng)智能節(jié)點(diǎn)的設(shè)計(jì). 電子技術(shù),2003,(7):17-18
[4] 馮冬芹,金建祥,諸健. 以太網(wǎng)與TCP/ IP. 自動化儀表,2003,(5):67-70
標(biāo)簽:
中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.wangxinlc.cn)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
相關(guān)資訊
產(chǎn)品新聞
更多>2025-04-30
性能躍升20%!維宏NK300CX Plus數(shù)控系統(tǒng)...
2025-04-11
rpi-image-gen:樹莓派軟件鏡像構(gòu)建的終...
2025-04-08
【產(chǎn)品解讀】全面提升精密制造檢測節(jié)拍...
2025-03-31
激光閃耀 智慧引領(lǐng) | WISE MASER 黑武士...
2025-03-20