摘? 要: 介紹了一種當(dāng)前在國(guó)際上流行的工業(yè)控制總線——SERCOS總線,包括SERCOS總線的體系結(jié)構(gòu)、工作原理、硬件組成、編程方法及其在一個(gè)機(jī)器人系統(tǒng)" title="機(jī)器人系統(tǒng)">機(jī)器人系統(tǒng)中的實(shí)際應(yīng)用。
關(guān)鍵詞: SERCOS? 工業(yè)控制總線? 機(jī)器人系統(tǒng)
?
對(duì)于機(jī)器人及其它運(yùn)動(dòng)控制系統(tǒng)來(lái)說(shuō),伺服系統(tǒng)是其關(guān)鍵部件之一。全數(shù)字的智能伺服系統(tǒng)具有精確度高、速度快、成本低等特點(diǎn)。數(shù)字控制單元和伺服系統(tǒng)之間通常需要一個(gè)高性能的數(shù)字接口,才能讓整個(gè)系統(tǒng)發(fā)揮最佳性能。SERCOS總線接口是一個(gè)高性能的數(shù)字接口,并且SERCOS總線標(biāo)準(zhǔn)是唯一一個(gè)有關(guān)運(yùn)動(dòng)控制的國(guó)際通信標(biāo)準(zhǔn)。
在SERCOS出現(xiàn)之前,數(shù)字通信協(xié)議由各伺服系統(tǒng)和制造廠家決定,是典型的封閉系統(tǒng),各廠家的產(chǎn)品沒(méi)有互換性。而SERCOS的出現(xiàn)克服了這一缺點(diǎn)。1995年,SERCOS接口協(xié)議被確定為國(guó)際標(biāo)準(zhǔn)" title="國(guó)際標(biāo)準(zhǔn)">國(guó)際標(biāo)準(zhǔn),使開(kāi)放系統(tǒng)成為現(xiàn)實(shí),它有利于智能數(shù)控設(shè)備的集散控制,節(jié)省了設(shè)計(jì)和調(diào)試周期,同時(shí)使系統(tǒng)的可靠性大大提高。
由于SERCOS現(xiàn)場(chǎng)總線具有數(shù)據(jù)傳輸快、抗干擾性能好等一系列優(yōu)點(diǎn)而受到全球用戶的廣泛支持,當(dāng)前國(guó)際上有很多著名的廠家和組織在推廣這一技術(shù)和成果。
1 SERCOS總線的體系結(jié)構(gòu)
1.1 SERCOS總線國(guó)際標(biāo)準(zhǔn)簡(jiǎn)介
SERCOS總線標(biāo)準(zhǔn)是國(guó)際標(biāo)準(zhǔn)化組織和國(guó)際電子技術(shù)委員會(huì)共同制定的一種數(shù)字接口國(guó)際標(biāo)準(zhǔn)。1995年12月制定了IEC61491標(biāo)準(zhǔn),1998年8月制定了EN61491標(biāo)準(zhǔn)。
在SERCOS標(biāo)準(zhǔn)中,詳細(xì)定義了傳輸介質(zhì)、拓?fù)浣Y(jié)構(gòu)、連接技術(shù)、信號(hào)、時(shí)序、過(guò)程、報(bào)文內(nèi)容、數(shù)據(jù)格式等控制單元和伺服單元之間的接口細(xì)節(jié)。
SERCOS總線標(biāo)準(zhǔn)具有如下優(yōu)點(diǎn):
(1)標(biāo)準(zhǔn)性
SERCOS標(biāo)準(zhǔn)是唯一一個(gè)有關(guān)運(yùn)動(dòng)控制的國(guó)際通信標(biāo)準(zhǔn)。其所有的底層操作、通信、調(diào)度等,都按照國(guó)際標(biāo)準(zhǔn)的規(guī)定設(shè)計(jì),具有統(tǒng)一的硬件接口、通訊協(xié)議、命令碼IDN等。其提供給用戶的開(kāi)發(fā)接口、應(yīng)用接口、調(diào)試接口等都符合SERCOS國(guó)際通信標(biāo)準(zhǔn)IEC61491(1995)。
(2)開(kāi)放性
SERCOS技術(shù)是由國(guó)際上很多知名的研究運(yùn)動(dòng)控制技術(shù)的廠家和組織共同開(kāi)發(fā)的。SERCOS的體系結(jié)構(gòu)、技術(shù)細(xì)節(jié)等都是向世界公開(kāi)的。而且SERCOS產(chǎn)品都是按照國(guó)際標(biāo)準(zhǔn)設(shè)計(jì),提供的所有功能都符合國(guó)際標(biāo)準(zhǔn)規(guī)定。
(3)兼容性
SERCOS接口卡的功能與支持它的操作系統(tǒng)、硬件平臺(tái)無(wú)關(guān)。不同公司的SERCOS接口卡之間可以相互替代,移植所花費(fèi)的代價(jià)很小。
(4)實(shí)時(shí)性
SERCOS接口的國(guó)際標(biāo)準(zhǔn)中規(guī)定SERCOS總線采用光纖作為傳輸環(huán)路,支持2/4/8/16Mbit/s的傳輸速率。4Mbit/s基本上能夠滿足現(xiàn)在各種應(yīng)用情況的數(shù)據(jù)傳輸要求。更高的傳輸速率(16Mbit/s)是為將來(lái)更高要求的實(shí)時(shí)數(shù)據(jù)傳輸而預(yù)先設(shè)計(jì)的。
(5)擴(kuò)展性
每一個(gè)SERCOS接口卡可以連接8個(gè)節(jié)點(diǎn),如果需要更多的節(jié)點(diǎn)則可以通過(guò)SERCOS接口卡的級(jí)連方式擴(kuò)展。通過(guò)級(jí)連,每一個(gè)光纖環(huán)路上可以最多有256個(gè)節(jié)點(diǎn)。
SERCOS總線接口卡" title="總線接口卡">總線接口卡除了具有上述特點(diǎn)外,還具有抗干擾性能好、即插即用等其它優(yōu)點(diǎn)。
1.2 SERCOS總線接口卡的硬件組成
SERCOS總線接口卡的硬件模塊主要由以下部分組成:微處理器芯片μP、雙端口存儲(chǔ)器DPR、通信同步芯片SERCON、串行調(diào)試接口部件UART、EPROM或FLASH-EPROM、RAM等。
微處理器芯片μP是SERCOS接口卡的中央處理單元。該芯片運(yùn)行固化在EPROM或者FLASH-EPROM中的程序,協(xié)調(diào)整個(gè)系統(tǒng)的各個(gè)部件的正常工作。同時(shí)具有系統(tǒng)監(jiān)測(cè)、故障診斷、出錯(cuò)處理、硬件復(fù)位等功能。
通信同步芯片SERCON是SERCOS總線接口卡通信同步模塊。該芯片同步NC控制單元(一般都是工控計(jì)算機(jī))和伺服系統(tǒng)之間的數(shù)據(jù)通信硬件邏輯。實(shí)現(xiàn)NC和伺服驅(qū)動(dòng)器" title="伺服驅(qū)動(dòng)器">伺服驅(qū)動(dòng)器之間的數(shù)據(jù)交換,負(fù)責(zé)數(shù)據(jù)輸入、輸出的協(xié)調(diào)和調(diào)度。
雙端口存儲(chǔ)器DPR是NC和伺服驅(qū)動(dòng)器之間交換數(shù)據(jù)的媒介。NC傳給伺服驅(qū)動(dòng)器的數(shù)據(jù)和命令放在DPR中,在適當(dāng)?shù)臅r(shí)候由 SERCANS模塊將其送給伺服驅(qū)動(dòng)器;從伺服驅(qū)動(dòng)器反饋回來(lái)的數(shù)據(jù)也放在DPR中,等待NC從中取走。
串行調(diào)試接口部件UART使用戶可以利用SERCOS調(diào)試程序,通過(guò)串行通訊口對(duì)系統(tǒng)進(jìn)行調(diào)試。
EPROM或FLASH-EPROM固化了硬件運(yùn)行的程序、算法、一些固定的設(shè)置數(shù)據(jù)等。需要重新更改的數(shù)據(jù)或者程序,SERCOS接口卡中都有一個(gè)EEPROM供修改和重新寫(xiě)入。
1.3 SERCOS總線接口卡的工作原理
SERCOS在NC控制單元上有一個(gè)擴(kuò)展的雙端口存儲(chǔ)器DPR,該部件是SERCOS和NC控制單元交換數(shù)據(jù)和命令的媒介。NC發(fā)給伺服系統(tǒng)的數(shù)據(jù)和命令首先放在DPR中,SERCOS會(huì)在工作周期中適當(dāng)?shù)臅r(shí)候?qū)?shù)據(jù)讀出、打包、發(fā)送到光纖環(huán)路上。伺服系統(tǒng)要傳給NC的數(shù)據(jù)和信息,首先打包通過(guò)光纖環(huán)路發(fā)給SERCOS,SERCOS將其解釋并在工作周期中的適當(dāng)時(shí)候?qū)?shù)據(jù)和信息放在DPR中相應(yīng)的地址。
微處理器單元運(yùn)行存儲(chǔ)在EPROM 或者FLASH-EPROM中的程序,對(duì)整個(gè)SERCOS接口卡的各個(gè)模塊進(jìn)行調(diào)度、控制和協(xié)調(diào),并且監(jiān)測(cè)系統(tǒng)的運(yùn)行狀態(tài)。如果系統(tǒng)發(fā)生錯(cuò)誤,則進(jìn)行故障診斷和錯(cuò)誤處理等工作。
數(shù)據(jù)交換的協(xié)調(diào)和控制由SERCON芯片負(fù)責(zé)。SERCON芯片負(fù)責(zé)數(shù)據(jù)傳輸同步。圖1是SERCOS總線的工作時(shí)序圖。
?

?
其中,MST是標(biāo)志上一次SERCOS周期結(jié)束、本次SERCOS周期開(kāi)始的信號(hào),ATn是從伺服系統(tǒng)反饋到NC的數(shù)據(jù)包,MDT是NC發(fā)往伺服系統(tǒng)的數(shù)據(jù)報(bào)文。
整個(gè)系統(tǒng)的工作按周期進(jìn)行,每一個(gè)周期稱為SERCOS周期。SERCOS周期根據(jù)SYNCIN和SYNCOUT信號(hào)的狀態(tài)變化,分為同步輸出和同步輸入兩個(gè)工作階段。
當(dāng)SYNCOUT信號(hào)處于高電平階段,系統(tǒng)工作在同步輸出階段。SERCON模塊逐個(gè)接收所有伺服設(shè)備反饋的AT數(shù)據(jù)包并輸出到DPR。這一段時(shí)間稱為AT傳輸時(shí)間。
AT傳輸完成后經(jīng)過(guò)一定的延時(shí),SYNCIN產(chǎn)生一次跳變,SYNCOUT由高電平變到低電平,系統(tǒng)轉(zhuǎn)入同步輸入工作階段。在此階段中,NC從DPR中讀取伺服驅(qū)動(dòng)器的反饋值,并向DPR寫(xiě)入控制伺服驅(qū)動(dòng)器的命令值。SERCON從DPR中讀取NC寫(xiě)入的命令值并以MDT報(bào)文的形式發(fā)給伺服驅(qū)動(dòng)器。完成這些工作后,SERCOS發(fā)出一個(gè)MST信號(hào),標(biāo)志一個(gè)SERCOS周期的結(jié)束和下一個(gè)SERCOS周期的開(kāi)始。
1.4 SERCOS總線驅(qū)動(dòng)軟件功能
SERCOS總線驅(qū)動(dòng)軟件是指用來(lái)驅(qū)動(dòng)SERCOS ASIC SERCON芯片的驅(qū)動(dòng)程序SERCDRV。SERCDRV是和硬件、操作系統(tǒng)無(wú)關(guān)的。SERCDRV程序具有定義數(shù)據(jù)結(jié)構(gòu)、硬件初始化、階段檢測(cè)、建立通信通道等功能。
用戶應(yīng)用程序和伺服部分的交互包括數(shù)據(jù)流和控制流。數(shù)據(jù)流和控制流只有經(jīng)過(guò)驅(qū)動(dòng)程序SERCDRV的正常運(yùn)行才能通過(guò)SERCON芯片進(jìn)入光纖環(huán)路。
SERCDRV通過(guò)實(shí)現(xiàn)SERCOS國(guó)際標(biāo)準(zhǔn)IEC61491/EN61491規(guī)定的函數(shù)來(lái)擴(kuò)展SERCON芯片的功能。包括以下幾個(gè)方面:
· 工作時(shí)需要的各種數(shù)據(jù)結(jié)構(gòu)的定義;
· 系統(tǒng)初始化,例如:設(shè)置中斷向量、設(shè)置各種計(jì)數(shù)器、設(shè)置各種寄存器、初始化各種寄存器、初始化DPR等;
· 通過(guò)實(shí)時(shí)數(shù)據(jù)傳輸通道實(shí)現(xiàn)周期性數(shù)據(jù)的實(shí)時(shí)傳輸和反饋;
· 通過(guò)服務(wù)通道實(shí)現(xiàn)非周期數(shù)據(jù)的傳輸和反饋;
· 計(jì)算和設(shè)置通訊參數(shù);
· SERCON的狀態(tài)緩沖池管理;
· 系統(tǒng)狀態(tài)檢測(cè),從階段0到階段4,在每一個(gè)階段設(shè)置該階段的參數(shù),然后進(jìn)行檢測(cè)。如果檢測(cè)通過(guò),則進(jìn)行下一階段的測(cè)試。當(dāng)順利通過(guò)階段4的檢測(cè),說(shuō)明系統(tǒng)一切正常,能夠進(jìn)行正常工作;
· 建立和管理服務(wù)通道。
2 SERCOS總線技術(shù)在機(jī)器人系統(tǒng)中的應(yīng)用
下面以本實(shí)驗(yàn)室完成的“虛擬現(xiàn)實(shí)漫游平臺(tái)”項(xiàng)目為例來(lái)說(shuō)明一下SERCOS總線技術(shù)在機(jī)器人系統(tǒng)中的應(yīng)用。
虛擬現(xiàn)實(shí)漫游平臺(tái)是國(guó)家863基金資助的項(xiàng)目。該項(xiàng)目的目的是要建立一個(gè)虛擬現(xiàn)實(shí)漫游平臺(tái),該平臺(tái)能夠讓人在虛擬環(huán)境中無(wú)限制漫游,而在實(shí)際環(huán)境中一直保持在平臺(tái)的中心。我們選擇雙機(jī)械臂來(lái)支撐人的雙腳,用一臺(tái)工控計(jì)算機(jī)實(shí)現(xiàn)對(duì)人的跟蹤和對(duì)系統(tǒng)的控制,用一臺(tái)圖形功能強(qiáng)的計(jì)算機(jī)來(lái)生成和管理虛擬場(chǎng)景,生成的虛擬場(chǎng)景輸出到人佩帶的虛擬現(xiàn)實(shí)頭盔。工控機(jī)和伺服驅(qū)動(dòng)器之間的數(shù)據(jù)通信采用先進(jìn)的SERCOS技術(shù)。對(duì)人腳運(yùn)動(dòng)的跟蹤采用高性能的PSD位置測(cè)量系統(tǒng)。
由以上介紹可以看到,本系統(tǒng)對(duì)實(shí)時(shí)性、安全性、抗干擾等性能具有高要求。由于SERCOS總線具有傳輸速度快、傳輸帶寬高、抗干擾性強(qiáng)、系統(tǒng)開(kāi)放等優(yōu)點(diǎn),我們采用SERCOS總線作為該機(jī)器人系統(tǒng)NC與伺服系統(tǒng)之間的傳輸總線,具體選擇德國(guó)Indramat公司開(kāi)發(fā)的SERCOS總線接口卡SCS-P01。
整個(gè)系統(tǒng)按照層次結(jié)構(gòu)分為NC控制層、SERCOS接口層、運(yùn)動(dòng)執(zhí)行層等三層。
2.1 NC控制層
NC控制層主要由工控計(jì)算機(jī)和運(yùn)行在上面的軟件構(gòu)成,負(fù)責(zé)系統(tǒng)的整體控制。下面介紹各個(gè)模塊的功能。
總控程序模塊:負(fù)責(zé)整個(gè)系統(tǒng)中各個(gè)程序模塊的控制和調(diào)度。
I/O控制模塊" title="控制模塊">控制模塊:負(fù)責(zé)傳感器等元件的控制以及查詢傳感器和限位開(kāi)關(guān)的狀態(tài)。
A/D采集模塊:負(fù)責(zé)采集PSD的數(shù)據(jù),并且進(jìn)行數(shù)據(jù)的分析和處理,將數(shù)據(jù)送給軌跡規(guī)劃模塊。
軌跡規(guī)劃模塊:根據(jù)傳來(lái)的數(shù)據(jù)規(guī)劃出實(shí)時(shí)數(shù)據(jù)序列。
命令控制模塊:負(fù)責(zé)按照非實(shí)時(shí)模式執(zhí)行一些SERCOS接口卡命令。
監(jiān)測(cè)控制模塊:負(fù)責(zé)系統(tǒng)狀態(tài)的監(jiān)測(cè)和錯(cuò)誤類型的診斷,并且對(duì)錯(cuò)誤進(jìn)行處理。
2.2 SERCOS接口層
SERCOS總線接口卡通過(guò)EISA總線連接到工控機(jī)上,并通過(guò)光纖環(huán)路與機(jī)器人伺服機(jī)構(gòu)相連。這樣,它就作為傳輸總線將工控機(jī)和機(jī)器人伺服機(jī)構(gòu)連接起來(lái)。SERCOS總線提供給工控機(jī)和機(jī)器人伺服機(jī)構(gòu)5條通信通道,用以傳輸數(shù)據(jù)流和控制流。
(1)實(shí)時(shí)數(shù)據(jù)傳輸通道:該通道由命令值通道和實(shí)際值通道兩個(gè)通道組成。命令值通道將軌跡規(guī)劃模塊規(guī)劃出的實(shí)時(shí)數(shù)據(jù)傳輸?shù)剿欧到y(tǒng),實(shí)際值通道向軌跡規(guī)劃模塊實(shí)時(shí)反饋機(jī)器人系統(tǒng)的各個(gè)命令(如位置、速度、加速度等)的當(dāng)前時(shí)刻實(shí)際值。
(2)命令通道:命令控制模塊通過(guò)該通道向伺服驅(qū)動(dòng)器傳輸命令號(hào),啟動(dòng)伺服驅(qū)動(dòng)器的內(nèi)部命令或函數(shù)。
(3)NC服務(wù)通道:命令控制模塊通過(guò)該通道向伺服驅(qū)動(dòng)器傳輸要求不高的非實(shí)時(shí)或者實(shí)時(shí)性數(shù)據(jù)和命令。
(4)監(jiān)測(cè)診斷通道:監(jiān)測(cè)診斷模塊通過(guò)該通道監(jiān)測(cè)伺服機(jī)構(gòu)和執(zhí)行機(jī)構(gòu),傳輸故障信息數(shù)據(jù)。
(5)MMI服務(wù)通道:該通道是SERCTOP調(diào)試程序和伺服機(jī)構(gòu)之間的交互通道。
2.3 運(yùn)動(dòng)執(zhí)行層
運(yùn)動(dòng)執(zhí)行層實(shí)際上綜合了伺服驅(qū)動(dòng)、狀態(tài)檢測(cè)、機(jī)械執(zhí)行三部分。伺服系統(tǒng)根據(jù)SERCOS傳輸來(lái)的數(shù)據(jù)和命令控制電機(jī)的運(yùn)動(dòng),從而控制機(jī)械部分。狀態(tài)檢測(cè)主要包括PSD和各種傳感器對(duì)機(jī)械狀態(tài)的檢測(cè)。
我們將SERCOS總線技術(shù)應(yīng)用在機(jī)器人系統(tǒng)中,整體性能良好,系統(tǒng)的實(shí)時(shí)性和抗干擾性能效果明顯。由于SERCOS技術(shù)遵循SERCOS國(guó)際標(biāo)準(zhǔn),所有的SERCOS接口卡都支持國(guó)際標(biāo)準(zhǔn)提供的一套IDN命令集,因此整個(gè)系統(tǒng)的設(shè)計(jì)結(jié)構(gòu)清晰靈活,容易編碼、調(diào)試和維護(hù)。并且同一套程序在不同SERCOS接口卡上移植非常方便。特別是Indramat的SERCOS接口卡將傳輸通道分成五條,性質(zhì)不同的任務(wù)分別利用相應(yīng)的傳輸通道。這種劃分更加有利于系統(tǒng)體系的設(shè)計(jì),以及系統(tǒng)體系的結(jié)構(gòu)化、模塊化。
?
參考文獻(xiàn)
1 SERCANS SERCOS Interface Assembly.Germany:Indramat Corporation,1998
2 SERCON410B SERCOS Interface Controller—Reference?Manual. Germany:Indramat Corporation,1993
3 INTERNATIONAL STANDARD—Electrical Equipment of?Industrial Machines—Serial Data Link for Real-time
Communication Between Controls and Drives. IEC:1995
4 朱大開(kāi).虛擬現(xiàn)實(shí)漫游平臺(tái)控制系統(tǒng):[碩士學(xué)位論文].北京:清華大學(xué)計(jì)算機(jī)系智能技術(shù)與系統(tǒng)國(guó)家重點(diǎn)實(shí)驗(yàn)室,1999.
5 屠 楠.虛擬現(xiàn)實(shí)漫游平臺(tái)研究:[碩士學(xué)位論文].北京:清華大學(xué)計(jì)算機(jī)系智能技術(shù)與系統(tǒng)國(guó)家重點(diǎn)實(shí)驗(yàn)室,1999
6 石曉東.機(jī)器人控制器的設(shè)計(jì)與實(shí)現(xiàn):[碩士學(xué)位論文].北京:清華大學(xué)計(jì)算機(jī)系智能技術(shù)與系統(tǒng)國(guó)家重點(diǎn)實(shí)驗(yàn)室,1998
7 孫發(fā)杰. 機(jī)器人控制器的設(shè)計(jì)與實(shí)現(xiàn):[碩士學(xué)位論文]. 北京:清華大學(xué)計(jì)算機(jī)系智能技術(shù)與系統(tǒng)國(guó)家重點(diǎn)實(shí)驗(yàn)室,1997
