技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 工業(yè)以太網(wǎng)確定性調(diào)度的設(shè)計(jì)與實(shí)現(xiàn)

工業(yè)以太網(wǎng)確定性調(diào)度的設(shè)計(jì)與實(shí)現(xiàn)

時(shí)間:2008-07-23 14:27:00來源:ronggang

導(dǎo)語:?工業(yè)控制網(wǎng)絡(luò)對(duì)網(wǎng)絡(luò)的實(shí)時(shí)性要求很高,不僅要求傳輸速度快,數(shù)據(jù)傳輸還要具有確定性。以太網(wǎng)的通信存在不確定性,不能滿足實(shí)時(shí)性要求,成為以太網(wǎng)應(yīng)用于工業(yè)控制領(lǐng)域的主要障礙

摘 要:工業(yè)控制網(wǎng)絡(luò)對(duì)網(wǎng)絡(luò)的實(shí)時(shí)性要求很高,不僅要求傳輸速度快,數(shù)據(jù)傳輸還要具有確定性。以太網(wǎng)的通信存在不確定性,不能滿足實(shí)時(shí)性要求,成為以太網(wǎng)應(yīng)用于工業(yè)控制領(lǐng)域的主要障礙。本設(shè)計(jì)實(shí)現(xiàn)的實(shí)時(shí)以太網(wǎng)[2]就是網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)的通信被嚴(yán)格地限定在規(guī)定時(shí)間內(nèi),確保在同一網(wǎng)段內(nèi)同時(shí)只有一臺(tái)在發(fā)送數(shù)據(jù)。

關(guān)鍵詞:工業(yè)以太網(wǎng);確定性;調(diào)度;實(shí)時(shí)

1. 前言

工業(yè)控制網(wǎng)絡(luò)是一種特定應(yīng)用的網(wǎng)絡(luò),和商業(yè)信息網(wǎng)絡(luò)相比,它具有自身的要求和特點(diǎn),其中非常重要的一點(diǎn)就是實(shí)時(shí)性要求高,不僅要求傳輸速度快,還要求響應(yīng)快,并且數(shù)據(jù)傳輸要具有確定性。以太網(wǎng)的通信調(diào)度方式——帶有沖突檢測(cè)的載波偵聽多路訪問機(jī)制(CSMA/CD),是一種非確定性的通信調(diào)度方式。網(wǎng)絡(luò)每個(gè)節(jié)點(diǎn)要通過競(jìng)爭(zhēng)來取得信息的發(fā)送權(quán):節(jié)點(diǎn)監(jiān)聽信道,只有發(fā)現(xiàn)信道空閑時(shí)才能發(fā)送信息。信息開始發(fā)送后,還需要檢查是否發(fā)生碰撞,如發(fā)生碰撞,則需等待,等待的時(shí)間取決于“二進(jìn)制指數(shù)退避算法”得出的隨機(jī)延遲[1][4],這種隨機(jī)延遲為工業(yè)通信的數(shù)據(jù)傳輸增加了難以避免的不確定性。

2. 系統(tǒng)模型

本設(shè)計(jì)通過在以太網(wǎng)MAC層之上增加確定性調(diào)度層,上層采用了EPA[3](Ethernet of Plant Automation)協(xié)議的數(shù)據(jù)封裝格式,因此使數(shù)據(jù)包的類型判斷和調(diào)度發(fā)送時(shí)間的獲取成為可能。EPA 是一種基于工業(yè)以太網(wǎng)的現(xiàn)場(chǎng)總線標(biāo)準(zhǔn),是在控制系統(tǒng)與現(xiàn)場(chǎng)測(cè)量、控制裝置之間,以及現(xiàn)場(chǎng)測(cè)量、執(zhí)行機(jī)構(gòu)之間進(jìn)行通信的分布式數(shù)字控制系統(tǒng)。這樣對(duì)所有的上層數(shù)據(jù)包在整個(gè)實(shí)時(shí)網(wǎng)段范圍內(nèi)進(jìn)行數(shù)據(jù)包統(tǒng)一調(diào)度發(fā)送,從而避免碰撞現(xiàn)象的發(fā)生并確保數(shù)據(jù)傳輸?shù)拇_定性要求。通信模型如圖 1所示:

實(shí)時(shí)以太網(wǎng)通信模型

圖1 實(shí)時(shí)以太網(wǎng)通信模型

3. 系統(tǒng)設(shè)計(jì)

本設(shè)計(jì)是在嵌入式平臺(tái)下實(shí)現(xiàn)的,利用ARM7處理器和Cs8900網(wǎng)絡(luò)接口芯片搭建的硬件平臺(tái)進(jìn)行開發(fā),在同一網(wǎng)段中,每一個(gè)運(yùn)行的設(shè)備等同于一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)。

上層采用EPA協(xié)議封裝,分實(shí)時(shí)數(shù)據(jù)和非實(shí)時(shí)數(shù)據(jù)進(jìn)行發(fā)送和接收。實(shí)時(shí)數(shù)據(jù)到達(dá)后,通過實(shí)時(shí)通信服務(wù)接口向下遞交,對(duì)數(shù)據(jù)進(jìn)行緩存處理,等待調(diào)度發(fā)送。下一個(gè)發(fā)送周期到來后,將用新的實(shí)時(shí)數(shù)據(jù)更新相應(yīng)緩沖區(qū);非實(shí)時(shí)通信服務(wù)通過OS中提供的BSD接口來提供,但是為了實(shí)現(xiàn)確定性的調(diào)度,非實(shí)時(shí)數(shù)據(jù)包穿越TCP/IP協(xié)議棧到達(dá)數(shù)據(jù)鏈路層時(shí),不允許直接調(diào)用硬件驅(qū)動(dòng)接口進(jìn)行數(shù)據(jù)包收發(fā)操作,而是通過一個(gè)虛擬的驅(qū)動(dòng)接口將數(shù)據(jù)包放入相應(yīng)的發(fā)送和接收隊(duì)列。修改原E-NIC的驅(qū)動(dòng)接口,使其成為虛擬驅(qū)動(dòng)接口,無法直接將數(shù)據(jù)遞交給硬件驅(qū)動(dòng),而是入非周期隊(duì)列。對(duì)硬件網(wǎng)卡的收發(fā)操作在硬件驅(qū)動(dòng)接口中實(shí)現(xiàn)。設(shè)計(jì)圖如圖2:

以太網(wǎng)確定性調(diào)度設(shè)計(jì)圖

圖2 以太網(wǎng)確定性調(diào)度設(shè)計(jì)圖

確定性調(diào)度層負(fù)責(zé)何時(shí)調(diào)用硬件驅(qū)動(dòng)接口收發(fā)數(shù)據(jù)幀。當(dāng)確定性調(diào)度層收到數(shù)據(jù)幀時(shí),根據(jù)以太網(wǎng)幀首部的type字段來區(qū)分實(shí)時(shí)數(shù)據(jù)幀和非實(shí)時(shí)數(shù)據(jù)幀。若是實(shí)時(shí)數(shù)據(jù)幀,將用收到的實(shí)時(shí)數(shù)據(jù)更新相應(yīng)緩沖區(qū);若是非實(shí)時(shí)數(shù)據(jù),則將其放入相應(yīng)的接收隊(duì)列并通過任務(wù)通信機(jī)制通知上層協(xié)議棧數(shù)據(jù)幀到達(dá)事件。確定性調(diào)度層的調(diào)度表由調(diào)度算法生成。

4. 主要模塊描述

實(shí)時(shí)通信服務(wù)接口、虛擬驅(qū)動(dòng)接口、時(shí)鐘同步服務(wù)和實(shí)時(shí)調(diào)度算法為本設(shè)計(jì)的四個(gè)主要模塊。

4.1 實(shí)時(shí)通信服務(wù)接口

實(shí)時(shí)通信服務(wù)接口負(fù)責(zé)為上層應(yīng)用(協(xié)議)提供周期性實(shí)時(shí)消息的實(shí)時(shí)通信服務(wù)。

周期性實(shí)時(shí)消息的發(fā)送和接收采用緩沖機(jī)制,即為本節(jié)點(diǎn)在運(yùn)行過程中要發(fā)送的每個(gè)周期性實(shí)時(shí)消息在內(nèi)存中定義相應(yīng)的緩沖區(qū),每當(dāng)上層應(yīng)用通過實(shí)時(shí)通信服務(wù)接口發(fā)送新的消息時(shí),即用該新消息值更新其對(duì)應(yīng)緩沖區(qū)中的舊消息值;為本節(jié)點(diǎn)在運(yùn)行過程中要接收的每個(gè)周期性實(shí)時(shí)消息在內(nèi)存中定義相應(yīng)的緩沖,每當(dāng)上層應(yīng)用通過實(shí)時(shí)通信服務(wù)接口接收新的消息時(shí),則將對(duì)應(yīng)緩沖區(qū)中的消息值返回。節(jié)點(diǎn)在運(yùn)行過程中將要發(fā)送的每個(gè)周期性實(shí)時(shí)消息必須要有與其對(duì)應(yīng)的已知的目標(biāo)地址(包括目標(biāo)MAC地址-用于識(shí)別節(jié)點(diǎn),端口號(hào)-用于識(shí)別實(shí)時(shí)消息所對(duì)應(yīng)的緩沖區(qū)元素)。

實(shí)時(shí)通信服務(wù)接口要提供以下接口函數(shù):

(1)RtAppInterface()創(chuàng)建實(shí)時(shí)接口函數(shù),用于實(shí)時(shí)周期性消息的發(fā)送和接收。

(2)RtMapping()將由RtAppInterface()函數(shù)創(chuàng)建的接口進(jìn)程映射到特定的地址(MAC,端口號(hào)(即緩沖元素的索引))。

(3)RtSend()使用已創(chuàng)建和映射完畢的實(shí)時(shí)接口進(jìn)程進(jìn)行實(shí)時(shí)消息的發(fā)送。

(4)RtRecv() 使用已創(chuàng)建和綁定完畢的實(shí)時(shí)接口進(jìn)程進(jìn)行實(shí)時(shí)消息的接收。

4.2 虛擬驅(qū)動(dòng)接口

虛擬驅(qū)動(dòng)接口負(fù)責(zé)為上層TCP/UDP/IP協(xié)議棧提供一套虛擬的驅(qū)動(dòng)程序接口,該接口必須與上層協(xié)議棧所使用的原硬件驅(qū)動(dòng)接口一致,但需改變?cè)摻涌谥械木唧w函數(shù)實(shí)現(xiàn),使得虛擬驅(qū)動(dòng)接口所對(duì)應(yīng)的具體函數(shù)無法直接實(shí)現(xiàn)對(duì)硬件的控制(如打開,關(guān)閉設(shè)備,收發(fā)數(shù)據(jù)包等)。必須確保用虛擬驅(qū)動(dòng)接口替換原硬件驅(qū)動(dòng)接口后,從TCP/IP協(xié)議棧使用驅(qū)動(dòng)接口的角度來看,和使用原硬件接口一樣,即用虛擬驅(qū)動(dòng)接口替換原硬件驅(qū)動(dòng)接口的改動(dòng)對(duì)于上層協(xié)議棧的使用而言必須是透明的。對(duì)上層協(xié)議棧發(fā)下來的數(shù)據(jù)包以FIFO的順序緩存到消息隊(duì)列,何時(shí)調(diào)用硬件驅(qū)動(dòng)接口發(fā)送這些數(shù)據(jù)包由確定性調(diào)度層決定。

虛擬驅(qū)動(dòng)接口提供的主要函數(shù):

(1)RtVirtualIn( )接收IP層的發(fā)送數(shù)據(jù)包,根據(jù)數(shù)據(jù)包類型確定轉(zhuǎn)存入隊(duì)列還是向下遞交。

(2)RtVirtualOut( ) 調(diào)用驅(qū)動(dòng)層的發(fā)送函數(shù)發(fā)送數(shù)據(jù),接收發(fā)送返回信息。

(3)RtVirtualPacketType()取對(duì)應(yīng)字段,判斷到來包類型(EPA類型字段 以太網(wǎng)類型字段)。

4.3 時(shí)鐘同步

在實(shí)時(shí)網(wǎng)段內(nèi),時(shí)鐘同步是非常關(guān)鍵的,因?yàn)閷?shí)時(shí)網(wǎng)段內(nèi)各節(jié)點(diǎn)上的任務(wù)運(yùn)行和消息發(fā)送都是基于時(shí)間基準(zhǔn)的,特別是總線上的消息調(diào)度,為了避免碰撞,消息間必須留出足夠的間隙來容納節(jié)點(diǎn)間的同步誤差。為了提高時(shí)鐘同步精度,應(yīng)把時(shí)鐘同步功能放在協(xié)議棧中盡可能靠近硬件的位置。本系統(tǒng)中時(shí)鐘同步功能由確定性調(diào)度層來提供。時(shí)鐘同步協(xié)議采用IEEE 1588協(xié)議[6]。

在實(shí)時(shí)網(wǎng)段內(nèi)選定一節(jié)點(diǎn)作為主時(shí)鐘,主時(shí)鐘定期發(fā)布時(shí)鐘同步消息,時(shí)鐘同步消息作為主時(shí)鐘節(jié)點(diǎn)上的周期性消息。由于時(shí)鐘同步消息在調(diào)度好的同步窗口中發(fā)送,可以保證時(shí)鐘消息的發(fā)送獨(dú)立于當(dāng)前網(wǎng)絡(luò)負(fù)載而無碰撞的發(fā)送,因而時(shí)鐘消息從發(fā)布節(jié)點(diǎn)到各個(gè)接收節(jié)點(diǎn)的延遲對(duì)各個(gè)接收節(jié)點(diǎn)而言為一常量。

4.4實(shí)時(shí)調(diào)度算法

本設(shè)計(jì)采用的算法根據(jù)RM和EDF算法改進(jìn)而成的[7],每個(gè)基本周期開始時(shí)動(dòng)態(tài)生成此基本調(diào)度單位(ESU)的調(diào)度時(shí)間表。整個(gè)鏈路時(shí)間由連續(xù)等長(zhǎng)的基本調(diào)度單位(ESU)組成,通常ESU為實(shí)時(shí)網(wǎng)段內(nèi)所有周期性實(shí)時(shí)消息的周期的最大公約數(shù)HCF。每個(gè)ESU被分成周期性實(shí)時(shí)消息窗口(PW)和非周期性消息窗口(AW),如圖3所示。PW中的調(diào)度根據(jù)事先由周期性實(shí)時(shí)消息調(diào)度算法生成的調(diào)度表來進(jìn)行,調(diào)度表的長(zhǎng)度為所有周期性實(shí)時(shí)消息的周期的最小公倍數(shù)LCM,調(diào)度表中與各個(gè)節(jié)點(diǎn)相關(guān)的部分被存放在各個(gè)節(jié)點(diǎn)中,各節(jié)點(diǎn)根據(jù)調(diào)度表中規(guī)定的時(shí)刻,以宏周期為循環(huán)單位周而復(fù)始的執(zhí)行周期性實(shí)時(shí)消息的發(fā)送動(dòng)作。在AW中,數(shù)據(jù)采用優(yōu)先級(jí)隊(duì)列節(jié)點(diǎn)輪詢的方式發(fā)送。按照非周期數(shù)據(jù)實(shí)時(shí)要求將非周期數(shù)據(jù)劃分為i個(gè)優(yōu)先級(jí),每個(gè)優(yōu)先級(jí)在節(jié)點(diǎn)中維護(hù)一個(gè)非周期優(yōu)先級(jí)隊(duì)列,因此每個(gè)節(jié)點(diǎn)中的非實(shí)時(shí)優(yōu)先級(jí)隊(duì)列為i個(gè)。發(fā)送時(shí)采用節(jié)點(diǎn)輪詢的方式按優(yōu)先級(jí)從高到低的順序進(jìn)行發(fā)送,每次被輪詢節(jié)點(diǎn)將指定優(yōu)先級(jí)隊(duì)列中的數(shù)據(jù)全部發(fā)送。

基本周期內(nèi)數(shù)據(jù)發(fā)送窗口

圖3 基本周期內(nèi)數(shù)據(jù)發(fā)送窗口

5.結(jié)論

本系統(tǒng)所實(shí)現(xiàn)的實(shí)時(shí)以太網(wǎng)可以完成網(wǎng)段內(nèi)數(shù)據(jù)的調(diào)度發(fā)送,基于本設(shè)計(jì)的實(shí)時(shí)以太網(wǎng)完全可以應(yīng)用于一般的過程控制工業(yè)領(lǐng)域。通過改進(jìn)原型系統(tǒng)的時(shí)鐘同步機(jī)制等來可以進(jìn)一步提高系統(tǒng)的實(shí)時(shí)性以及時(shí)鐘精度,基于本設(shè)計(jì)的實(shí)時(shí)以太網(wǎng)改進(jìn)的目標(biāo)是把時(shí)鐘精度提高到微秒級(jí),進(jìn)而應(yīng)用于時(shí)間精度要求較高的工業(yè)領(lǐng)域,如運(yùn)動(dòng)控制等。

參考文獻(xiàn)

[1] 徐皚冬,王宏,楊志家.基于以太網(wǎng)的工業(yè)控制網(wǎng)絡(luò).《信息與控制》,2000,29(2)

[2] 徐皚冬,王宏,邢志浩,工業(yè)以太網(wǎng)實(shí)時(shí)通信技術(shù).《信息與控制》,2005,34(1)

[3] 馮冬芹,金建祥,王為民,褚 健.基于EPA 的分布式網(wǎng)絡(luò)控制系統(tǒng)結(jié)構(gòu).自動(dòng)化儀表, 2003,24(9)

[4] IEEE Std 802.3, 2000 Edition, Part 3: Carrier Sense Multiple Access with Collision Detection [CSMA/CD] Access Method and Physical Layer Specifications, ISO/EEC 8802-3:2000 (E),2000

[5] Y.Rajendra,P.Prashant,F.Raphael. A reservation-based CSMA Protocol for integrated manufacturing networks. IEEE Trans. on System, Man and Cybernetics, Vol 24 no 8, Aug 1994, pp1247-1258

[6] IEEE Standard 1588-2002, Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems, November 2002, New York, USA.

[7] E.Tover, F.Vasques, A.Burns. Communication response time in P-Net Network: worst-case analysis considering the actual token utilization. JSA Report YCS 312 University of York, 1999

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:基于VB的計(jì)算機(jī)與三菱變頻器...

下一篇:微能WIN-V63矢量控制變頻器在...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國(guó)傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購(gòu)咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)