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