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