引言
傳統(tǒng)的數(shù)控系統(tǒng)多采用基于單處理器的集中式體系結(jié)構(gòu),這種體系結(jié)構(gòu)向上不能適應(yīng)制造環(huán)境對數(shù)控系統(tǒng)的分散化要求,向下難以滿足高速高精加工對計(jì)算能力和數(shù)據(jù)傳輸?shù)囊,難以適應(yīng)未來數(shù)控技術(shù)的發(fā)展。隨著在工業(yè)控制領(lǐng)域的應(yīng)用,現(xiàn)場總線已經(jīng)成為下一代數(shù)控系統(tǒng)各設(shè)備單元之間數(shù)據(jù)交換的主要媒介。
現(xiàn)場總線之于數(shù)控系統(tǒng)的各設(shè)備單元,如高速公路之于城市交通,寬帶之于聯(lián)網(wǎng)計(jì)算機(jī)。高速高精的數(shù)控加工,要求數(shù)控單元設(shè)備之間的數(shù)據(jù)交換媒介能完成數(shù)據(jù)的高速實(shí)時傳輸,而網(wǎng)絡(luò)傳輸速度直接影響了加工的速度和精度,也影響了遠(yuǎn)程操作、遠(yuǎn)程管理、遠(yuǎn)程診斷的效率。目前,現(xiàn)場總線技術(shù)除了主要用于工業(yè)現(xiàn)場的過程控制,也已經(jīng)用于數(shù)控系統(tǒng)的設(shè)備通信和瓦連。德國SIEMENS公司的SINUMERIK840D數(shù)控系統(tǒng)就采用r PROFIBUS總線的DP系列,日本FANUC公司的數(shù)控系統(tǒng)也采用基于光纖的專用內(nèi)部總線SERCOS(serial realtime communication specification)。還有一些文獻(xiàn)對控制器局域網(wǎng)(Controller Area Network,CAN)、Profibus和SERCOS等專用現(xiàn)場總線在數(shù)控系統(tǒng)通信方面的應(yīng)用做了研究。
以太網(wǎng)技術(shù)隨著Internet的發(fā)展得到了飛速發(fā)展,其傳輸速率已從最初的10 Mbps發(fā)展到100Mbps,1000 Mbps,1 Gbps甚至10 Gbps,是目前用于工業(yè)控制的cAN,PROFIBUS,WorldFIP等現(xiàn)場總線無法相比的。理論上,以太網(wǎng)的傳輸速度比12 Mbps的PROFIBUS I)P、2.5 M和5 M的WorldFIP,以及1 M的CAN快得多,100 M快速以太網(wǎng)的傳輸速度是12 M的PROFIBUS—DP的9倍、是5 M的worldFIP的20倍、是1 M的CAN的100倍。因此在工業(yè)控制領(lǐng)域,當(dāng)然也包含數(shù)控領(lǐng)域,以太網(wǎng)將顯示出其高帶寬的巨大優(yōu)勢。目前,國際新一代基于以太網(wǎng)的現(xiàn)場總線標(biāo)準(zhǔn)體系剛剛提出并正在建立,主要有EPA,Ethernet/IP,ModBus—IDA,PRoFINET,Ethernet Powerlink,EtherCA.T,SERCOS—III等。這些研究從應(yīng)用模型角度分為混合模型和透明模型兩類;旌夏P偷乃枷胧巧蠈硬捎蒙逃靡蕴W(wǎng),底層仍采用專用現(xiàn)場總線、串口等通信方式(如Ethernet/IP,ModBus/TCP等)。一些研究提出了底層通過RS232,上層通過以太網(wǎng)將數(shù)控系統(tǒng)接入Internet的混合模型來解決數(shù)控系統(tǒng)的數(shù)字通信問題[5‘6]。透明模型是采用以太網(wǎng)實(shí)現(xiàn)所有層的通信(如PROFINET,EPA等實(shí)時以太網(wǎng)標(biāo)準(zhǔn))。數(shù)控系統(tǒng)采用以太網(wǎng)實(shí)現(xiàn)所有層通信的難點(diǎn)在于數(shù)控系統(tǒng)運(yùn)動控制層的實(shí)時通信和精確同步問題。
本文研究在現(xiàn)有以太網(wǎng)技術(shù)基礎(chǔ)上的數(shù)控系統(tǒng)運(yùn)動控制層實(shí)時通信和精確同步技術(shù)。
1 以太網(wǎng)的實(shí)時性與時間同步技術(shù)
1.1 以太網(wǎng)的實(shí)時性
以太網(wǎng)的實(shí)時性評估主要考慮它在傳輸中的延遲。在運(yùn)動控制層,對通信實(shí)時性的要求主要是對傳輸延遲確定性的要求,即傳輸中的延遲時間是確定、可預(yù)先知道的,而不是隨機(jī)的。下面主要從確定性方面說明以太網(wǎng)的實(shí)時性問題。為方便說明,特定義如下:
tdelay為延遲時間,指發(fā)送節(jié)點(diǎn)調(diào)用發(fā)送處理開始到接收節(jié)點(diǎn)的接收處理完全收到數(shù)據(jù)報(bào)文的時間問隔為數(shù)據(jù)幀在通信處理器中的等待時間;
為數(shù)據(jù)幀的發(fā)送延遲;
為數(shù)據(jù)幀的傳播延遲;
為端系統(tǒng)處理時間,指數(shù)據(jù)在發(fā)送方和接收方系統(tǒng)中進(jìn)行緩沖、拷貝等處理所耗費(fèi)的時間。
通常延遲時間用以下公式表示:
(1)
式中:與
。由網(wǎng)絡(luò)帶寬和信號傳播速度決定,是確定性的;
受系統(tǒng)軟硬件環(huán)境影響,當(dāng)系統(tǒng)的軟硬件環(huán)境確定時,可使
確定。對于共享式以太網(wǎng),由于存在通道競爭,數(shù)據(jù)幀發(fā)送會產(chǎn)生沖突,而隨后所采取的重發(fā)機(jī)制會導(dǎo)致延遲的不確定性甚至發(fā)送的失敗,因此
是不確定的;但如果能夠限制網(wǎng)上流量,避免沖突就可以使t。確定,實(shí)現(xiàn)確定性通信。對于交換式以太網(wǎng)
出是確定的,通過計(jì)算傳輸中經(jīng)過的各交換機(jī)的交換機(jī)延遲之和可以得到
為保證交換式以太網(wǎng)的穩(wěn)定和不丟失數(shù)據(jù)幀,需要滿足兩個條件:
(1)網(wǎng)絡(luò)傳輸總量小于交換機(jī)的容量,表示為
(2)
式中:Capa為交換機(jī)的容量,表示一個單位時間內(nèi)能夠處理的幀的數(shù)目;Msg,為第i個站點(diǎn)每單位時間產(chǎn)生的幀的數(shù)目。
(2)一個站點(diǎn)的接收能力可以處理所有的源節(jié)點(diǎn)到該節(jié)點(diǎn)的數(shù)據(jù)幀,表示為
(3)
式中:Recv(j)是站點(diǎn)J接收數(shù)據(jù)的能力,Msgt(j)是在單位時間內(nèi)從第i站點(diǎn)到第j站點(diǎn)傳輸數(shù)據(jù)的大小。這兩個條件表明,只要將網(wǎng)絡(luò)上的流量控制在交換機(jī)的處理能力和接收能力之內(nèi),就能做到交換式以太網(wǎng)的穩(wěn)定運(yùn)行。對于直通式交換機(jī),一般情況下,交換機(jī)延遲可以忽略;對于存儲轉(zhuǎn)發(fā)式交換機(jī),交換機(jī)延遲為存儲延遲
與轉(zhuǎn)發(fā)延遲
的和:
(4)
轉(zhuǎn)發(fā)延遲又可以表示為
(5)
式中:q為隊(duì)列中排在本數(shù)據(jù)幀前的幀的數(shù)目,為幀間隔mt。為第i個幀的發(fā)送延遲。由上可知,共享式以太網(wǎng)通過限制以太網(wǎng)流量,避免沖突,可以實(shí)現(xiàn)實(shí)時通信;交換機(jī)式以太網(wǎng)通過一定程度地限制流量也能實(shí)現(xiàn)以太網(wǎng)的實(shí)時通信。
1.2 時間同步技術(shù)
運(yùn)動控制層設(shè)備要進(jìn)行精確同步操作,必須有嚴(yán)格精確的時鐘,因?yàn)楹芏嗖僮魇窃趪?yán)格的時間表驅(qū)動下協(xié)同完成的,而時鐘的時間確定性受制于硬件晶體振蕩器質(zhì)量和軟件的環(huán)境,很容易受溫度和其他因素的影響。在實(shí)際操作中,多數(shù)時鐘每天會產(chǎn)生5 s~15 S的時問偏差。在對時間同步要求高的場合,需要對系統(tǒng)的時鐘偏差進(jìn)行矯正。目前,網(wǎng)絡(luò)上的時間同步技術(shù)主要有網(wǎng)絡(luò)時間協(xié)議和精確時間協(xié)議兩種。網(wǎng)絡(luò)時間協(xié)議的同步精度一般只能達(dá)到0.1 ms,當(dāng)應(yīng)用對時間精度要求較高時,不能達(dá)到要求。為了將以太網(wǎng)用于自動化系統(tǒng)的高精度時間同步,需要采用特殊的方式來滿足應(yīng)用的時間精度要求。IEEE 1588標(biāo)準(zhǔn)的精確時間協(xié)議(Preci—sion Time Protocol,PTP)就是基于以太網(wǎng)的高精度時間同步的解決方案。
IEEE 1588有兩種類型的時鐘:①參考時鐘源,稱為主時鐘;②客戶時鐘,稱為從時鐘。從理論上講,任何時鐘都可以充當(dāng)主時鐘和從時鐘。從時鐘和主時鐘通過交換同步信息來完成時間同步,同步過程分為兩個步驟.
步驟1 偏差測量和偏差矯正過程如圖1所示。在該過程中,主時鐘按所定義的時間間隔,周期性地向所有從時鐘發(fā)送同步報(bào)文,同步報(bào)文中攜帶該報(bào)文發(fā)送時刻的估計(jì)值。主時鐘記錄同步報(bào)文發(fā)出的精確時刻Tm,,從時鐘記錄接收同步報(bào)文的精確時刻t。。主時鐘緊接著發(fā)送一個攜帶著L。的跟隨報(bào)文,在接收到跟隨報(bào)文后,從時鐘計(jì)算偏差值
(6)
并將時鐘矯正為
(7)
如果忽略傳輸線路上的延遲D,則從時鐘和主時鐘同步。
步驟2 延遲測量,用于測量主時鐘到從時鐘的傳輸延遲,測量過程如圖2所示。從時鐘向主時鐘發(fā)送一個延遲測量請求報(bào)文,并記錄發(fā)送該報(bào)文的精確時刻R,主時鐘接收該請求報(bào)文并記錄接收到的精確時刻氏,然后向從時鐘發(fā)送攜帶%的延遲測量響應(yīng)報(bào)文,從時鐘收到該響應(yīng)報(bào)文后,根據(jù)下面公式計(jì)算延遲
(8)
延遲測量的時間間隔可以大于偏差測量(默認(rèn)值為4 S'60 s),也可以是非周期性地進(jìn)行,這樣網(wǎng)絡(luò)負(fù)載會減輕。如果延遲時間比較穩(wěn)定,則延遲測量可以稀發(fā)進(jìn)行。
IEEE 1588 PTP協(xié)議之所以能提高時間同步精度,是因?yàn)楦S報(bào)文將同步報(bào)文發(fā)送的精確時刻發(fā)給從時鐘用來進(jìn)行時鐘偏差的計(jì)算,而精確時刻是從硬件層獲得的,比從應(yīng)用層獲得的時間值更準(zhǔn)確。IEEE 1588的時鐘精度可以達(dá)到1s以下。
1.3 數(shù)控系統(tǒng)運(yùn)動控制層特征
針對數(shù)控系統(tǒng)特征,將數(shù)控系統(tǒng)運(yùn)動控制層特征歸納為下面幾點(diǎn)(“三不三要”):
(1)設(shè)備之間的距離不長因?yàn)閿?shù)控系統(tǒng)運(yùn)動控制設(shè)備分布集中,所以設(shè)備之間的距離不長,一般小于50 m。
(2)節(jié)點(diǎn)數(shù)不多因?yàn)檫\(yùn)動控制層設(shè)備數(shù)有限,所以網(wǎng)絡(luò)中的節(jié)點(diǎn)數(shù)比較少,一般小于32。
(3)數(shù)據(jù)量不大每個控制器和執(zhí)行器之間交換的有效數(shù)據(jù)不大,一般小于14 Byte。
(4)通信周期要短通信周期的長短影響插補(bǔ)周期的長短,直接影響著加工的精度。當(dāng)插補(bǔ)精度要求小于0.1 ptm時,插補(bǔ)周期必須小于1 ms,通信周期應(yīng)該更短。因此,數(shù)控系統(tǒng)運(yùn)動控制層追求通信周期時間越短越好。
(5)周期要準(zhǔn)通信周期不僅要短而且要確定,上下抖動要小。
(6)要有嚴(yán)格精確的時鐘系統(tǒng)保證同步操作數(shù)控系統(tǒng)的運(yùn)動控制層屬于分布式控制系統(tǒng),需要嚴(yán)格精確的時鐘系統(tǒng)保證各模塊的精確協(xié)同操作。在考慮這些特征的基礎(chǔ)上,本文提出了基于時間片沖突避免和精確時間同步的優(yōu)化算法。
1.4 時間片沖突避免實(shí)時通信和精確時間同步算法及其優(yōu)化
數(shù)控系統(tǒng)運(yùn)動控制層現(xiàn)場總線應(yīng)用比較成功的是SERCOS,它是一種用于數(shù)字伺服和傳動系統(tǒng)的現(xiàn)場總線接口和數(shù)據(jù)交換協(xié)議,能夠?qū)崿F(xiàn)工業(yè)控制計(jì)算機(jī)與數(shù)字伺服系統(tǒng)、傳感器和可編程控制器I/O口之間的實(shí)時數(shù)據(jù)通信,1995年被批準(zhǔn)為IECl491 SYSTEM—Interface國際標(biāo)準(zhǔn),在數(shù)控機(jī)械設(shè)備中得到了廣泛應(yīng)用。SERCOS接口由一個主站和若干個從站組成,各站之間采用光纜聯(lián)接,構(gòu)成環(huán)形網(wǎng),站間的最大距離為80 m(塑料光纖)或240m(玻璃光纖),最大從站數(shù)為254,數(shù)據(jù)傳輸率為2Mbit/s~16 Mbit/s。第三代SERCOS各站點(diǎn)之間可以采用雙絞線連接,支持以太網(wǎng)傳輸,傳輸速率可達(dá)100 Mbit/s。SERCOS協(xié)議定義了主站傳給從站的同步電報(bào)、從站傳給主站的伺服電報(bào)和主站傳給從站的主站電報(bào)三種類型數(shù)據(jù),并用分時技術(shù)實(shí)現(xiàn)實(shí)時通信,一個周期的通信步驟包括三步:
(1)主站向所有從站發(fā)送同步電報(bào)表示一個通信周期的開始。
(2)從站依次在自己的時間片內(nèi)向主站發(fā)送伺服電報(bào)。
(3)主站向所有從站發(fā)送主站電報(bào)。本文借鑒SERCOS分時通信的思想實(shí)現(xiàn)實(shí)時通信,為協(xié)調(diào)數(shù)據(jù)通信處理和時間同步處理,在SERCOS通信思想的基礎(chǔ)上,做了下面幾點(diǎn)改進(jìn),以實(shí)現(xiàn)精確時間同步功能并提高通信效率:
(1)將主站傳給從站的報(bào)文分為同步報(bào)文和跟隨報(bào)文兩類。同步報(bào)文表示一個通信周期的開始,并攜帶本地發(fā)送時間估算值;跟隨報(bào)文中攜帶本地精確時鐘以及主站發(fā)給各從站的下行數(shù)據(jù)。
(2)將主站數(shù)據(jù)報(bào)文和用于時間同步的跟隨報(bào)文合二為一,稱為跟隨報(bào)文,以提高通信效率。
(3)一個通信周期包括同步報(bào)文、跟隨報(bào)文、從站報(bào)文三部分,在實(shí)時通信周期基本不變的基礎(chǔ)上完成了精確時問同步功能。根據(jù)數(shù)控系統(tǒng)運(yùn)動控制層通信的特征,在設(shè)計(jì)算法中更注重通信的確定性,而不是網(wǎng)絡(luò)統(tǒng)計(jì)性能的提高;采用簡單的網(wǎng)絡(luò)拓?fù),盡鼉減少傳輸延遲;采用收集和分發(fā)并行處理技術(shù),提高小數(shù)據(jù)塊的傳輸效率;精簡或跳過TCP/IP網(wǎng)絡(luò)協(xié)議,減少端系統(tǒng)處理時間£。。;在初始化階段進(jìn)行精確時間協(xié)議延遲的測量,避免通信過程中做延遲測量處理;為避免過于頻繁做時鐘矯正,在算法中設(shè)定偏差閾值,只有偏差超過該閾值時才做矯正;將實(shí)時通信與時間同步處理有機(jī)結(jié)合在一起以提高效率。優(yōu)化算法如下:
步驟1初始化處理,測量網(wǎng)絡(luò)延遲D。
步驟2開始一個通信周期,主站向所有從站發(fā)送同步報(bào)文Sync.
步驟3主站將該Sync報(bào)文發(fā)到線路上時,取本地精確時刻L。。
步驟4各從站接收到該Sync報(bào)文時,記錄本地精確時刻T5。。
步驟5主站向所有從站發(fā)送跟隨報(bào)文,包括本地精確時鐘L,和主站發(fā)給各從站的下行數(shù)據(jù)。
步驟6各從站接收到L-后,計(jì)算時鐘偏差0=
步驟7各從站判斷。是否超過閾值,如果超過,則調(diào)整本地時鐘,否則不調(diào)整。
步驟8各從站從跟隨報(bào)文中取出分發(fā)給自己的數(shù)據(jù)。
步驟9各從站依次向主站發(fā)送從站報(bào)文。
步驟lO進(jìn)入下一個通信周期,轉(zhuǎn)步驟2。
2 實(shí)時通信和時間同步的實(shí)現(xiàn)
2.1 網(wǎng)絡(luò)結(jié)構(gòu)
系統(tǒng)通過以太網(wǎng)將控制器、伺服驅(qū)動器、主軸驅(qū)動器等連接起來,邏輯上采用主從式結(jié)構(gòu)?刂破鞣Q為主站,伺服驅(qū)動器、主軸驅(qū)動器等稱為從站。為避免由于網(wǎng)絡(luò)中問節(jié)點(diǎn)所帶來的延遲,盡量使用總線型或星型等簡單的網(wǎng)絡(luò)結(jié)構(gòu),并盡量選擇存儲轉(zhuǎn)發(fā)延遲為零或較小的連接設(shè)備。
2.2 報(bào)文格式
通信中傳輸?shù)膱?bào)文包括主站報(bào)文和從站報(bào)文。主站報(bào)文是主站發(fā)向從站的報(bào)文,其中攜帶有同步信號、指令和參數(shù)。主站報(bào)文包括跟隨報(bào)文和同步報(bào)文兩種。跟隨報(bào)文的格式如圖3a所示,報(bào)文頭(14 byte)包括源站點(diǎn)的以太網(wǎng)介質(zhì)訪問控制(Media Access Control,MAC)地址、目標(biāo)站點(diǎn)的以太網(wǎng)MAC地址和協(xié)議類型;報(bào)文尾是一個4 byte的循環(huán)冗余校驗(yàn)碼,用于數(shù)據(jù)校驗(yàn);數(shù)據(jù)區(qū)包含報(bào)文類、時間域和有效數(shù)據(jù)域。報(bào)文類用于區(qū)別同步報(bào)文和跟隨報(bào)文,時間域存放對時數(shù)據(jù);數(shù)據(jù)域包括主站分發(fā)給各從站的組合數(shù)據(jù),對應(yīng)每個從站有一個數(shù)據(jù)塊,每個數(shù)據(jù)塊中包括接收數(shù)據(jù)的從站的邏輯地址、主站發(fā)給從站的控制字,以及非周期數(shù)據(jù)和周期數(shù)據(jù)。從站的邏輯地址對從站的編號,用該編號代替MAC地址來區(qū)分系統(tǒng)中的所有從站;控制字是主站發(fā)給從站的控制指令的編號;非周期數(shù)據(jù)中攜帶通信過程中主站傳給從站的非周期信息,如參數(shù)等;周期數(shù)據(jù)中攜帶通信過程中主站傳給從站的周期數(shù)據(jù),如位置、速度等。同步報(bào)文和跟隨報(bào)文格式基本一樣,唯一的區(qū)別是同步報(bào)文中沒有數(shù)據(jù)域。
從站報(bào)文是從站傳給主站的上行報(bào)文,報(bào)文格式如圖3b所示。報(bào)文頭和報(bào)文尾與跟隨報(bào)文相同;數(shù)據(jù)區(qū)包括從站邏輯地址、狀態(tài)字、非周期數(shù)據(jù)和周期數(shù)據(jù)。狀態(tài)字是從站傳給主站反饋信息的編號期數(shù)據(jù)中攜帶非周期信息,如系統(tǒng)報(bào)警等;周期數(shù)據(jù)中攜帶周期信息,如實(shí)際位置、速度等。報(bào)文中定義的非周期數(shù)據(jù)、周期數(shù)據(jù)長度可以配置,其他域的長度可以設(shè)置為常量。
2.3 時間片配置策略
要保證算法的穩(wěn)定性,需要研究算法的時間片配置策略。假設(shè)系統(tǒng)中有1個主站,咒個從站,r是同步報(bào)文的傳輸時間,m是跟隨報(bào)文的傳輸時間,s是從站報(bào)文的傳輸時間。是周期數(shù)據(jù)節(jié)點(diǎn)的采樣周期(也為通信周期),盯是每個節(jié)點(diǎn)的服務(wù)開銷(包括服務(wù)處理時間等)。則通信的穩(wěn)定性條件為
(9)
進(jìn)一步考慮跟隨報(bào)文中包含傳給各從站的信息,則跟隨報(bào)文的傳輸時間取決于分配給每個從站的傳輸時間、從站個數(shù)、報(bào)文類長、時間域長和報(bào)頭報(bào)尾的長。假設(shè)分配給每個從站的數(shù)據(jù)塊傳輸時間長度為b,報(bào)文類時長“,時間域時長u,報(bào)文頭時長h,報(bào)文尾時長P,則有
(10)
又設(shè)從站地址時長O。、控制字時長O。、非周期數(shù)據(jù)時長a和周期數(shù)據(jù)時長c,則有
(11)
將式(11)代入式(10),
得 (12)
設(shè)從站報(bào)文中的地址時長O,、狀態(tài)字時長O。、非周期數(shù)據(jù)時長d和周期數(shù)據(jù)時長P,有
(13)
將式(12)和式(13)代入式(9),得
(14)
設(shè)為常量,并假設(shè)每個節(jié)點(diǎn)的服務(wù)開銷盯是常量,同步報(bào)文按以太網(wǎng)最小報(bào)文處理,則r也可看成常量,這樣式(14)可以化簡為
式(15)就是通信周期的穩(wěn)定性條件。配置合適的Pi滿足式(15)的條件就可以保證通信的穩(wěn)定性。在數(shù)控系統(tǒng)應(yīng)用中,每個從站傳輸?shù)臄?shù)據(jù)格式往往是一樣的,這樣式(15)可以進(jìn)一步化簡為
(16)
2.4 通信過程
通信過程分為五個階段:
(1)參數(shù)生成階段主站測量同步報(bào)文、跟隨報(bào)文、從站報(bào)文的時間片長度和網(wǎng)絡(luò)延遲時間,并記錄各站點(diǎn)的MAC地址和為各站點(diǎn)分配的邏輯地址。主站通過向各從站發(fā)送報(bào)文,并接收從站響應(yīng)報(bào)文的方式測量往返延遲,用“往返延遲/2”估算網(wǎng)絡(luò)延遲和時間片。主站將這些信息寫入配置表,并根據(jù)這些信息生成配置表中各報(bào)文的發(fā)送時間參數(shù),式(17)為計(jì)算方法,其中J為報(bào)文編號,從1開始按同步報(bào)文、跟隨報(bào)文、從站1、從站2的次序編下去。Start(j)為第個報(bào)文的發(fā)送時刻。每個報(bào)文的發(fā)送時刻為其前面所有報(bào)文所占時間片Slot,的和。若該階段運(yùn)行正確,則進(jìn)入階段(2),否則報(bào)錯。
(17)
(2)初始時間同步階段按1.2節(jié)介紹的算法進(jìn)行時間偏差測量與矯正。若該階段運(yùn)行正確,則進(jìn)入階段(3),否則報(bào)錯。
(3)參數(shù)分發(fā)階段主站向所有從站廣播發(fā)送配置表信息,各從站接到配置表信息后,在分配給它的時間片內(nèi)向主站發(fā)送響應(yīng)報(bào)文。主站檢查是否所有從站的響應(yīng)報(bào)文都被接收,如果都被接收,則進(jìn)入階段(4),否則報(bào)錯。
(4)試運(yùn)行階段主站在配置的時間片內(nèi)發(fā)送同步報(bào)文和跟隨報(bào)文,從站在分配的時間片內(nèi)向主站發(fā)送應(yīng)答報(bào)文。主站根據(jù)配置表與從站的響應(yīng)時間來判斷從站的參數(shù)配置是否合適。若不合適則返回階段(1),調(diào)整參數(shù);若合適,則進(jìn)入階段(5)。
(5)正常運(yùn)行階段在此階段周期運(yùn)行1.4節(jié)所介紹算法的步驟2~步驟9。
3 實(shí)時通信與時間同步的實(shí)驗(yàn)與分析
3.1 實(shí)時性評價(jià)
為便于說明,定義變量:‰為跟隨報(bào)文分配給每個從站數(shù)據(jù)塊中非周期數(shù)據(jù)和周期數(shù)據(jù)長度的和;l鰣為從站報(bào)文中非周期數(shù)據(jù)和周期數(shù)據(jù)長度的和。
為減少t。,。或服務(wù)開銷6r,實(shí)驗(yàn)中采用旁路TCP/IP,直接在以太網(wǎng)網(wǎng)絡(luò)接口卡(Network Inter—face Card,NIC)上發(fā)送和接收數(shù)據(jù)的方式來減少這方面的延遲。表1所示為實(shí)驗(yàn)中采用的九種場景,以及時間片的理論計(jì)算和實(shí)際配置值的比較,理論計(jì)算方法參見2.3節(jié)。為簡化計(jì)算,時長一數(shù)據(jù)長度/網(wǎng)絡(luò)帶寬,帶寬采用100 Mbps,時間域長4Byte,報(bào)文類域長2 Byte,控制字、狀態(tài)字2 Byte,邏輯地址1 Byte,服務(wù)開銷忽略。從表1中可以看出,在4個從站的情況下,傳輸6 Byte/9 Byte的‰/Zsd數(shù)據(jù),通信周期可以配置為60“s;在15個從站的情況下,傳輸14 Byte/61 Byte的lmd/15d數(shù)據(jù),通信周期可以配置為217“s。分析表1中數(shù)據(jù)可以看出,時間片的實(shí)際配置值比理論計(jì)算值稍大了些,原因?yàn)椋孩倮碚撚?jì)算中忽略了服務(wù)開銷和端系統(tǒng)處理時間;②若要考慮重傳等可靠性處理,還需將通信周期配置得更大一些,留空隙用于重傳處理。
3.2 同步精度評價(jià)
為評價(jià)時間同步精度,在從時鐘節(jié)點(diǎn)和主時鐘節(jié)點(diǎn)之間采用包交換的方式測量時間誤差。在網(wǎng)絡(luò)中選擇一個節(jié)點(diǎn)做測試節(jié)點(diǎn),測試步驟如下:
步驟1 主時鐘節(jié)點(diǎn)通知測試節(jié)點(diǎn)開始一次測量。
步驟2測試節(jié)點(diǎn)向主時鐘節(jié)點(diǎn)和所有從時鐘節(jié)點(diǎn)廣播發(fā)送一個測試報(bào)文,并記錄測試報(bào)文的發(fā)送時刻丁。
步驟3 主時鐘節(jié)點(diǎn)接收到測試報(bào)文并記錄下接收時刻L,將帶有t的響應(yīng)報(bào)文發(fā)回給測試節(jié)點(diǎn)。
步驟4 同時,每個從時鐘節(jié)點(diǎn)接收到測試報(bào)文,并記錄下接收時刻T。。
步驟5每個從時鐘節(jié)點(diǎn)將帶有Tc的響應(yīng)報(bào)文發(fā)回給測試節(jié)點(diǎn)。
步驟6測試節(jié)點(diǎn)為每個從時鐘節(jié)點(diǎn)計(jì)算時間誤差
(18)
根據(jù)該測試方法設(shè)計(jì)了測試實(shí)驗(yàn)。為了運(yùn)行誤差測量程序,將通信周期延長為正常部分和測量部分。正常部分完成同步與實(shí)時通信,測量部分完成誤差測量。為減少測量過程中t。。時間不確定性所帶來的誤差,采用接近硬件層的處理方法。通過對大量誤差樣本的統(tǒng)計(jì)分析,誤差平均值為6弘s。最大值不超過10弘s。圖4所示為測量所得誤差的分布情況。
分析時間同步誤差產(chǎn)生的原因:①采用往返延遲的一半來估算主時鐘到從時鐘的單向延遲,而算法中采用單向延遲計(jì)算偏差值,這會帶來一定的誤差;②通信過程中的延遲存在動態(tài)抖動,會影響算法的精度,從而帶來一部分誤差。
4 安全性、可靠性分析
4.1 安全性分析
以太網(wǎng)對數(shù)控通信的安全威脅主要表現(xiàn)在傳輸過程中數(shù)據(jù)被截獲或讀取、黑客連入通信并偷聽或使用數(shù)據(jù)、進(jìn)行可用性攻擊或病毒攻擊。以太網(wǎng)用于數(shù)控運(yùn)動控制層通信是面向控制的,為保證其不被外部病毒等干擾,在物理上不與外部網(wǎng)絡(luò)相聯(lián),而通過另外的網(wǎng)絡(luò)接口接人外部網(wǎng)。
4.2 可靠性分析
對于數(shù)控系統(tǒng)運(yùn)動控制層通信來說,不能允許任何節(jié)點(diǎn)出現(xiàn)故障。一旦出現(xiàn)故障,系統(tǒng)必須做故障處理,此時若故障能夠自行排除,則恢復(fù)加工進(jìn)程,否則機(jī)床停機(jī)等候人工處理。因此,故障檢測和處理是保證數(shù)控機(jī)床安全運(yùn)行的重要功能模塊。在做實(shí)際應(yīng)用設(shè)計(jì)時,可通過下列機(jī)制進(jìn)行系統(tǒng)故障檢測和處理:
(1)主站在接收所有從站報(bào)文時,為每個從站設(shè)置一個超時計(jì)數(shù)器,記錄從站的通信狀況,如果傳輸超時,則在不影響周期時間的前提下,在周期間隙時間控制重傳;若重傳失敗,則將故障信息及時上報(bào)上級數(shù)控系統(tǒng)。
(2)在從站報(bào)文狀態(tài)字中設(shè)置錯誤位,通過它將從站錯誤信息上報(bào)主站,上級數(shù)控系統(tǒng)根據(jù)錯誤碼進(jìn)行故障處理。’
(3)在從站報(bào)文的狀態(tài)字中設(shè)置繁忙位,通過它將從站繁忙/空閑的狀態(tài)上報(bào)給主站,上級數(shù)控系統(tǒng)根據(jù)此信息判斷是否放慢節(jié)怕以便與從站同步。
(4)對接收的數(shù)據(jù),在以太網(wǎng)本身進(jìn)行循環(huán)冗余檢查(Cyclic Redundancy Check,CRC)校驗(yàn)的基礎(chǔ)上,系統(tǒng)還進(jìn)行數(shù)據(jù)的有效性檢驗(yàn);對于非有效的數(shù)據(jù),上報(bào)上級數(shù)控系統(tǒng),并通過設(shè)置報(bào)文中的錯誤位和錯誤碼通知發(fā)送方進(jìn)行重傳或其他故障處理。
5 結(jié)束語
本文的研究基于以太網(wǎng)的實(shí)時通信調(diào)度和精確時間的同步,給出了一種優(yōu)化算法,以滿足數(shù)控系統(tǒng)運(yùn)動控制層通信的實(shí)時和時間同步要求。基于該算法,提出了保證系統(tǒng)穩(wěn)定可靠運(yùn)行的時間片配置策略,設(shè)計(jì)了數(shù)控系統(tǒng)運(yùn)動控制層通信協(xié)議。最后,通過實(shí)驗(yàn),分析和驗(yàn)證了系統(tǒng)的性能,為新一代網(wǎng)絡(luò)數(shù)控系統(tǒng)的研制提供了參考。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.oesoe.com/
本文標(biāo)題:基于以太網(wǎng)的數(shù)控系統(tǒng)實(shí)時通信和時問同步
本文網(wǎng)址:http://www.oesoe.com/html/support/1112157250.html