摘? 要: 介紹了一種當(dāng)前在國際上流行的工業(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)
?
對于機(jī)器人及其它運(yùn)動控制系統(tǒng)來說,伺服系統(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)動控制的國際通信標(biāo)準(zhǔn)。
在SERCOS出現(xiàn)之前,數(shù)字通信協(xié)議由各伺服系統(tǒng)和制造廠家決定,是典型的封閉系統(tǒng),各廠家的產(chǎn)品沒有互換性。而SERCOS的出現(xiàn)克服了這一缺點(diǎn)。1995年,SERCOS接口協(xié)議被確定為國際標(biāo)準(zhǔn)" title="國際標(biāo)準(zhǔn)">國際標(biāo)準(zhǔn),使開放系統(tǒng)成為現(xiàn)實(shí),它有利于智能數(shù)控設(shè)備的集散控制,節(jié)省了設(shè)計(jì)和調(diào)試周期,同時(shí)使系統(tǒng)的可靠性大大提高。
由于SERCOS現(xiàn)場總線具有數(shù)據(jù)傳輸快、抗干擾性能好等一系列優(yōu)點(diǎn)而受到全球用戶的廣泛支持,當(dāng)前國際上有很多著名的廠家和組織在推廣這一技術(shù)和成果。
1 SERCOS總線的體系結(jié)構(gòu)
1.1 SERCOS總線國際標(biāo)準(zhǔn)簡介
SERCOS總線標(biāo)準(zhǔn)是國際標(biāo)準(zhǔn)化組織和國際電子技術(shù)委員會共同制定的一種數(shù)字接口國際標(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ù)、信號、時(shí)序、過程、報(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)動控制的國際通信標(biāo)準(zhǔn)。其所有的底層操作、通信、調(diào)度等,都按照國際標(biāo)準(zhǔn)的規(guī)定設(shè)計(jì),具有統(tǒng)一的硬件接口、通訊協(xié)議、命令碼IDN等。其提供給用戶的開發(fā)接口、應(yīng)用接口、調(diào)試接口等都符合SERCOS國際通信標(biāo)準(zhǔn)IEC61491(1995)。
(2)開放性
SERCOS技術(shù)是由國際上很多知名的研究運(yùn)動控制技術(shù)的廠家和組織共同開發(fā)的。SERCOS的體系結(jié)構(gòu)、技術(shù)細(xì)節(jié)等都是向世界公開的。而且SERCOS產(chǎn)品都是按照國際標(biāo)準(zhǔn)設(shè)計(jì),提供的所有功能都符合國際標(biāo)準(zhǔn)規(guī)定。
(3)兼容性
SERCOS接口卡的功能與支持它的操作系統(tǒng)、硬件平臺無關(guān)。不同公司的SERCOS接口卡之間可以相互替代,移植所花費(fèi)的代價(jià)很小。
(4)實(shí)時(shí)性
SERCOS接口的國際標(biāo)準(zhǔn)中規(guī)定SERCOS總線采用光纖作為傳輸環(huán)路,支持2/4/8/16Mbit/s的傳輸速率。4Mbit/s基本上能夠滿足現(xiàn)在各種應(yīng)用情況的數(shù)據(jù)傳輸要求。更高的傳輸速率(16Mbit/s)是為將來更高要求的實(shí)時(shí)數(shù)據(jù)傳輸而預(yù)先設(shè)計(jì)的。
(5)擴(kuò)展性
每一個(gè)SERCOS接口卡可以連接8個(gè)節(jié)點(diǎn),如果需要更多的節(jié)點(diǎn)則可以通過SERCOS接口卡的級連方式擴(kuò)展。通過級連,每一個(gè)光纖環(huán)路上可以最多有256個(gè)節(jié)點(diǎn)。
SERCOS總線接口卡" title="總線接口卡">總線接口卡除了具有上述特點(diǎn)外,還具有抗干擾性能好、即插即用等其它優(yōu)點(diǎn)。
1.2 SERCOS總線接口卡的硬件組成
SERCOS總線接口卡的硬件模塊主要由以下部分組成:微處理器芯片μP、雙端口存儲器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)測、故障診斷、出錯(cuò)處理、硬件復(fù)位等功能。
通信同步芯片SERCON是SERCOS總線接口卡通信同步模塊。該芯片同步NC控制單元(一般都是工控計(jì)算機(jī))和伺服系統(tǒng)之間的數(shù)據(jù)通信硬件邏輯。實(shí)現(xiàn)NC和伺服驅(qū)動器" title="伺服驅(qū)動器">伺服驅(qū)動器之間的數(shù)據(jù)交換,負(fù)責(zé)數(shù)據(jù)輸入、輸出的協(xié)調(diào)和調(diào)度。
雙端口存儲器DPR是NC和伺服驅(qū)動器之間交換數(shù)據(jù)的媒介。NC傳給伺服驅(qū)動器的數(shù)據(jù)和命令放在DPR中,在適當(dāng)?shù)臅r(shí)候由 SERCANS模塊將其送給伺服驅(qū)動器;從伺服驅(qū)動器反饋回來的數(shù)據(jù)也放在DPR中,等待NC從中取走。
串行調(diào)試接口部件UART使用戶可以利用SERCOS調(diào)試程序,通過串行通訊口對系統(tǒng)進(jìn)行調(diào)試。
EPROM或FLASH-EPROM固化了硬件運(yùn)行的程序、算法、一些固定的設(shè)置數(shù)據(jù)等。需要重新更改的數(shù)據(jù)或者程序,SERCOS接口卡中都有一個(gè)EEPROM供修改和重新寫入。
1.3 SERCOS總線接口卡的工作原理
SERCOS在NC控制單元上有一個(gè)擴(kuò)展的雙端口存儲器DPR,該部件是SERCOS和NC控制單元交換數(shù)據(jù)和命令的媒介。NC發(fā)給伺服系統(tǒng)的數(shù)據(jù)和命令首先放在DPR中,SERCOS會在工作周期中適當(dāng)?shù)臅r(shí)候?qū)?shù)據(jù)讀出、打包、發(fā)送到光纖環(huán)路上。伺服系統(tǒng)要傳給NC的數(shù)據(jù)和信息,首先打包通過光纖環(huán)路發(fā)給SERCOS,SERCOS將其解釋并在工作周期中的適當(dāng)時(shí)候?qū)?shù)據(jù)和信息放在DPR中相應(yīng)的地址。
微處理器單元運(yùn)行存儲在EPROM 或者FLASH-EPROM中的程序,對整個(gè)SERCOS接口卡的各個(gè)模塊進(jìn)行調(diào)度、控制和協(xié)調(diào),并且監(jiān)測系統(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周期開始的信號,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信號的狀態(tài)變化,分為同步輸出和同步輸入兩個(gè)工作階段。
當(dāng)SYNCOUT信號處于高電平階段,系統(tǒng)工作在同步輸出階段。SERCON模塊逐個(gè)接收所有伺服設(shè)備反饋的AT數(shù)據(jù)包并輸出到DPR。這一段時(shí)間稱為AT傳輸時(shí)間。
AT傳輸完成后經(jīng)過一定的延時(shí),SYNCIN產(chǎn)生一次跳變,SYNCOUT由高電平變到低電平,系統(tǒng)轉(zhuǎn)入同步輸入工作階段。在此階段中,NC從DPR中讀取伺服驅(qū)動器的反饋值,并向DPR寫入控制伺服驅(qū)動器的命令值。SERCON從DPR中讀取NC寫入的命令值并以MDT報(bào)文的形式發(fā)給伺服驅(qū)動器。完成這些工作后,SERCOS發(fā)出一個(gè)MST信號,標(biāo)志一個(gè)SERCOS周期的結(jié)束和下一個(gè)SERCOS周期的開始。
1.4 SERCOS總線驅(qū)動軟件功能
SERCOS總線驅(qū)動軟件是指用來驅(qū)動SERCOS ASIC SERCON芯片的驅(qū)動程序SERCDRV。SERCDRV是和硬件、操作系統(tǒng)無關(guān)的。SERCDRV程序具有定義數(shù)據(jù)結(jié)構(gòu)、硬件初始化、階段檢測、建立通信通道等功能。
用戶應(yīng)用程序和伺服部分的交互包括數(shù)據(jù)流和控制流。數(shù)據(jù)流和控制流只有經(jīng)過驅(qū)動程序SERCDRV的正常運(yùn)行才能通過SERCON芯片進(jìn)入光纖環(huán)路。
SERCDRV通過實(shí)現(xiàn)SERCOS國際標(biāo)準(zhǔn)IEC61491/EN61491規(guī)定的函數(shù)來擴(kuò)展SERCON芯片的功能。包括以下幾個(gè)方面:
· 工作時(shí)需要的各種數(shù)據(jù)結(jié)構(gòu)的定義;
· 系統(tǒng)初始化,例如:設(shè)置中斷向量、設(shè)置各種計(jì)數(shù)器、設(shè)置各種寄存器、初始化各種寄存器、初始化DPR等;
· 通過實(shí)時(shí)數(shù)據(jù)傳輸通道實(shí)現(xiàn)周期性數(shù)據(jù)的實(shí)時(shí)傳輸和反饋;
· 通過服務(wù)通道實(shí)現(xiàn)非周期數(shù)據(jù)的傳輸和反饋;
· 計(jì)算和設(shè)置通訊參數(shù);
· SERCON的狀態(tài)緩沖池管理;
· 系統(tǒng)狀態(tài)檢測,從階段0到階段4,在每一個(gè)階段設(shè)置該階段的參數(shù),然后進(jìn)行檢測。如果檢測通過,則進(jìn)行下一階段的測試。當(dāng)順利通過階段4的檢測,說明系統(tǒng)一切正常,能夠進(jìn)行正常工作;
· 建立和管理服務(wù)通道。
2 SERCOS總線技術(shù)在機(jī)器人系統(tǒng)中的應(yīng)用
下面以本實(shí)驗(yàn)室完成的“虛擬現(xiàn)實(shí)漫游平臺”項(xiàng)目為例來說明一下SERCOS總線技術(shù)在機(jī)器人系統(tǒng)中的應(yīng)用。
虛擬現(xiàn)實(shí)漫游平臺是國家863基金資助的項(xiàng)目。該項(xiàng)目的目的是要建立一個(gè)虛擬現(xiàn)實(shí)漫游平臺,該平臺能夠讓人在虛擬環(huán)境中無限制漫游,而在實(shí)際環(huán)境中一直保持在平臺的中心。我們選擇雙機(jī)械臂來支撐人的雙腳,用一臺工控計(jì)算機(jī)實(shí)現(xiàn)對人的跟蹤和對系統(tǒng)的控制,用一臺圖形功能強(qiáng)的計(jì)算機(jī)來生成和管理虛擬場景,生成的虛擬場景輸出到人佩帶的虛擬現(xiàn)實(shí)頭盔。工控機(jī)和伺服驅(qū)動器之間的數(shù)據(jù)通信采用先進(jìn)的SERCOS技術(shù)。對人腳運(yùn)動的跟蹤采用高性能的PSD位置測量系統(tǒng)。
由以上介紹可以看到,本系統(tǒng)對實(shí)時(shí)性、安全性、抗干擾等性能具有高要求。由于SERCOS總線具有傳輸速度快、傳輸帶寬高、抗干擾性強(qiáng)、系統(tǒng)開放等優(yōu)點(diǎn),我們采用SERCOS總線作為該機(jī)器人系統(tǒng)NC與伺服系統(tǒng)之間的傳輸總線,具體選擇德國Indramat公司開發(fā)的SERCOS總線接口卡SCS-P01。
整個(gè)系統(tǒng)按照層次結(jié)構(gòu)分為NC控制層、SERCOS接口層、運(yùn)動執(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é)傳感器等元件的控制以及查詢傳感器和限位開關(guān)的狀態(tài)。
A/D采集模塊:負(fù)責(zé)采集PSD的數(shù)據(jù),并且進(jìn)行數(shù)據(jù)的分析和處理,將數(shù)據(jù)送給軌跡規(guī)劃模塊。
軌跡規(guī)劃模塊:根據(jù)傳來的數(shù)據(jù)規(guī)劃出實(shí)時(shí)數(shù)據(jù)序列。
命令控制模塊:負(fù)責(zé)按照非實(shí)時(shí)模式執(zhí)行一些SERCOS接口卡命令。
監(jiān)測控制模塊:負(fù)責(zé)系統(tǒng)狀態(tài)的監(jiān)測和錯(cuò)誤類型的診斷,并且對錯(cuò)誤進(jìn)行處理。
2.2 SERCOS接口層
SERCOS總線接口卡通過EISA總線連接到工控機(jī)上,并通過光纖環(huán)路與機(jī)器人伺服機(jī)構(gòu)相連。這樣,它就作為傳輸總線將工控機(jī)和機(jī)器人伺服機(jī)構(gòu)連接起來。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)命令通道:命令控制模塊通過該通道向伺服驅(qū)動器傳輸命令號,啟動伺服驅(qū)動器的內(nèi)部命令或函數(shù)。
(3)NC服務(wù)通道:命令控制模塊通過該通道向伺服驅(qū)動器傳輸要求不高的非實(shí)時(shí)或者實(shí)時(shí)性數(shù)據(jù)和命令。
(4)監(jiān)測診斷通道:監(jiān)測診斷模塊通過該通道監(jiān)測伺服機(jī)構(gòu)和執(zhí)行機(jī)構(gòu),傳輸故障信息數(shù)據(jù)。
(5)MMI服務(wù)通道:該通道是SERCTOP調(diào)試程序和伺服機(jī)構(gòu)之間的交互通道。
2.3 運(yùn)動執(zhí)行層
運(yùn)動執(zhí)行層實(shí)際上綜合了伺服驅(qū)動、狀態(tài)檢測、機(jī)械執(zhí)行三部分。伺服系統(tǒng)根據(jù)SERCOS傳輸來的數(shù)據(jù)和命令控制電機(jī)的運(yùn)動,從而控制機(jī)械部分。狀態(tài)檢測主要包括PSD和各種傳感器對機(jī)械狀態(tài)的檢測。
我們將SERCOS總線技術(shù)應(yīng)用在機(jī)器人系統(tǒng)中,整體性能良好,系統(tǒng)的實(shí)時(shí)性和抗干擾性能效果明顯。由于SERCOS技術(shù)遵循SERCOS國際標(biāo)準(zhǔn),所有的SERCOS接口卡都支持國際標(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 朱大開.虛擬現(xiàn)實(shí)漫游平臺控制系統(tǒng):[碩士學(xué)位論文].北京:清華大學(xué)計(jì)算機(jī)系智能技術(shù)與系統(tǒng)國家重點(diǎn)實(shí)驗(yàn)室,1999.
5 屠 楠.虛擬現(xiàn)實(shí)漫游平臺研究:[碩士學(xué)位論文].北京:清華大學(xué)計(jì)算機(jī)系智能技術(shù)與系統(tǒng)國家重點(diǎn)實(shí)驗(yàn)室,1999
6 石曉東.機(jī)器人控制器的設(shè)計(jì)與實(shí)現(xiàn):[碩士學(xué)位論文].北京:清華大學(xué)計(jì)算機(jī)系智能技術(shù)與系統(tǒng)國家重點(diǎn)實(shí)驗(yàn)室,1998
7 孫發(fā)杰. 機(jī)器人控制器的設(shè)計(jì)與實(shí)現(xiàn):[碩士學(xué)位論文]. 北京:清華大學(xué)計(jì)算機(jī)系智能技術(shù)與系統(tǒng)國家重點(diǎn)實(shí)驗(yàn)室,1997
