摘 要:基于CAN總線的運(yùn)動(dòng)控制系統(tǒng)廣泛的應(yīng)用于軍事及民用工業(yè)領(lǐng)域。本文介紹了運(yùn)用以色列Elmo伺服及其CAN總線技術(shù)實(shí)現(xiàn)的交流伺服運(yùn)動(dòng)控制系統(tǒng),具體設(shè)計(jì)了整個(gè)控制系統(tǒng)的各個(gè)部分及其內(nèi)部模塊。從硬件與軟件兩方面將其與一般的CAN總線控制系統(tǒng)相比較,體現(xiàn)出該系統(tǒng)各方面的特點(diǎn)與優(yōu)勢(shì)。
關(guān)鍵詞:Elmo伺服 CAN總線 模塊化設(shè)計(jì)
[b][align=center]Elmo Servo Motion Control System Based on CAN bus
Yu gang , Shu zhibing[/align][/b]
Abstract: Motion control system based on CAN bus are widely used in civil and military industries.In this paper,the Elmo Servo motion control system made in Israel based on CAN bus is introduced.Each part of the system and its modules are introduced in detail.Hardware and software of the system is analyzed compared to commonly CAN motion control system.Its characteristics and advantages are expressed through the comparing.
Keywords: Elmo Servo CAN bus modularization designing
1 引言
CAN現(xiàn)場(chǎng)總線是80年代末由德國(guó)Bosch公司為公共汽車系統(tǒng)設(shè)計(jì)的現(xiàn)場(chǎng)總線,是迄今為止唯一成為國(guó)際標(biāo)準(zhǔn)的現(xiàn)場(chǎng)總線,也是公認(rèn)的全球范圍內(nèi)最具前途的現(xiàn)場(chǎng)總線之一。CAN現(xiàn)場(chǎng)總線最初用于汽車監(jiān)控系統(tǒng),由于CAN總線系統(tǒng)的特性,后來(lái)CAN總線廣泛的應(yīng)用于過(guò)程工業(yè),機(jī)械工業(yè),紡織工業(yè),農(nóng)用機(jī)器,機(jī)器人,數(shù)控機(jī)床,醫(yī)療器械及傳感器等領(lǐng)域。1999年,6千萬(wàn)個(gè)CAN總線控制器投入使用,2000年市場(chǎng)銷售超過(guò)一億個(gè)現(xiàn)場(chǎng)總線器件[1]。
本文介紹了南京工業(yè)大學(xué)運(yùn)動(dòng)控制研究所設(shè)計(jì)的一種基于CAN總線和以太網(wǎng)的Elmo伺服運(yùn)動(dòng)控制系統(tǒng)及其設(shè)計(jì)。該產(chǎn)品由以色列Elmo公司提供包含技術(shù):模擬功率轉(zhuǎn)換,基于電流回路控制的ASIC,DSP和處理器—數(shù)字驅(qū)動(dòng)器,總線結(jié)構(gòu)—數(shù)字驅(qū)動(dòng)器,第三代運(yùn)動(dòng)控制編程語(yǔ)言Elmo Studio。硬件上采用以色列ELMO公司的MASETRO、英國(guó)TRIO公司的MC206多軸控制器、泉毅公司PWS6600C-S和BAS-3/230系列交流伺服驅(qū)動(dòng)器設(shè)計(jì)[2]?,F(xiàn)在ELMO擁有廣泛的應(yīng)用領(lǐng)域:半導(dǎo)體,醫(yī)療,電子產(chǎn)品,包裝機(jī)械,線性電機(jī),材料處理,木材切割,機(jī)器人,軍事和航空,實(shí)驗(yàn)室自動(dòng)化。這里,Elmo伺服運(yùn)動(dòng)控制系統(tǒng)主要作為基于CAN總線的交流伺服實(shí)驗(yàn)平臺(tái)應(yīng)用于南工大總線運(yùn)動(dòng)控制實(shí)驗(yàn)以及伺服特性實(shí)驗(yàn)中。
2 標(biāo)準(zhǔn)CAN總線控制系統(tǒng)設(shè)計(jì)
CAN是一種串行通信總線,采用CAN2.0A或2.0B通信標(biāo)準(zhǔn),廣播式通信方式,多主結(jié)構(gòu),無(wú)損仲裁,有完善的錯(cuò)誤檢測(cè)機(jī)制,自動(dòng)重發(fā)機(jī)制。
CAN具有技術(shù)先進(jìn)、可靠性高、成本合理的特點(diǎn),但CAN協(xié)議本身并不完整。其定義了數(shù)據(jù)鏈路層和部分物理層,為網(wǎng)絡(luò)中的CAN節(jié)點(diǎn)提供了一種廣播式報(bào)文分幀傳輸通道,其流量控制、節(jié)點(diǎn)地址分配、通訊建立等具體內(nèi)容需要使用者自己實(shí)現(xiàn),因而需要建立應(yīng)用層協(xié)議。當(dāng)前國(guó)外流行的CAN總線分布式運(yùn)動(dòng)控制系統(tǒng)應(yīng)用層協(xié)議主要標(biāo)準(zhǔn)有:CANopen協(xié)議,DeviceNet和SDS。國(guó)內(nèi)主要標(biāo)準(zhǔn)有iCAN等,在國(guó)內(nèi)已實(shí)現(xiàn)400萬(wàn)個(gè)節(jié)點(diǎn)[3]。
按照CAN總線協(xié)議,CAN總線可以是任意拓?fù)浣Y(jié)構(gòu)的,但一般來(lái)說(shuō),CAN總線主要采用圖1所示的4種拓?fù)浣Y(jié)構(gòu)。
[align=center]
圖1 CAN總線的4種拓?fù)浣Y(jié)構(gòu)[/align]
基于CAN總線的運(yùn)動(dòng)控制系統(tǒng)如圖2所示,有兩個(gè)顯著的特點(diǎn),第一是其控制對(duì)象為伺服運(yùn)動(dòng)控制對(duì)象,第二是其網(wǎng)絡(luò)化控制器包括CAN總線通信媒介和CAN控制器節(jié)點(diǎn)兩部分。
[align=center]
圖2 基于CAN總線伺服運(yùn)動(dòng)控制系統(tǒng)結(jié)構(gòu)[/align]
硬件上采用PHILIPS的SJA1000獨(dú)立CAN控制器,PCA82C250通用CAN收發(fā)器,為了保證總線傳輸質(zhì)量,提高抗干擾能力,可以在SJA1000和PCA82C250之間加接兩個(gè)高速光耦,一般使用6N137[4]。SJA1000控制器支持CAN2.0B底層通信協(xié)議,CANopen或Device Net等應(yīng)用層通信協(xié)議。最簡(jiǎn)單的硬件電路如圖3所示。通過(guò)制定簡(jiǎn)單的通信協(xié)議之后,便可以構(gòu)成簡(jiǎn)單的CAN總線控制系統(tǒng)。此種系統(tǒng)價(jià)格便宜,經(jīng)濟(jì)實(shí)用,適用于智能通信卡、汽車控制系統(tǒng)、電梯控制系統(tǒng)、溫度和濕度等數(shù)據(jù)采集和報(bào)警系統(tǒng)、廠房監(jiān)控系統(tǒng)等對(duì)于穩(wěn)定性,可靠性和工作環(huán)境要求一般的系統(tǒng)中。
[align=center]
圖3 最簡(jiǎn)單的CAN總線硬件電路[/align]
3 基于CAN總線的ELMO運(yùn)動(dòng)控制系統(tǒng)
3.1 ELMO系統(tǒng)硬件構(gòu)成
系統(tǒng)基于CAN 2.0B通信協(xié)議,應(yīng)用層采用的是分布式運(yùn)動(dòng)控制系統(tǒng)常用的CANopen協(xié)議。該協(xié)議詳細(xì)規(guī)定了通信模式,網(wǎng)絡(luò)管理及其相關(guān)參數(shù)的設(shè)定。
系統(tǒng)設(shè)計(jì)采用的拓?fù)浣Y(jié)構(gòu)是菊花鏈型拓?fù)浣Y(jié)構(gòu)。此種拓?fù)浣Y(jié)構(gòu)是用電纜把一臺(tái)設(shè)備依次連接到下一臺(tái)設(shè)備,一直到最后一臺(tái)設(shè)備和終端器為止。如圖4所示。
[align=center]
圖4 菊花鏈型拓?fù)浣Y(jié)構(gòu)[/align]
這里的終端器集成在最后一個(gè)驅(qū)動(dòng)器中。這種結(jié)構(gòu)也可以認(rèn)為是長(zhǎng)度為零的總線型拓?fù)浣Y(jié)構(gòu)。若采用菊花鏈型拓?fù)浣Y(jié)構(gòu),當(dāng)一臺(tái)設(shè)備從區(qū)域取下來(lái),該設(shè)備后面區(qū)域上的所有設(shè)備將失去連接,從而產(chǎn)生故障。這將導(dǎo)致許多設(shè)備失效 潛在的過(guò)程停運(yùn)。本系統(tǒng)采用此種拓?fù)浣Y(jié)構(gòu):(1)CAN總線最遠(yuǎn)通信距離是10km,用于工廠控制或監(jiān)控時(shí),此種結(jié)構(gòu)可以降低總的電纜長(zhǎng)度,減少電纜的使用從而減少設(shè)備連接費(fèi)用。(2)綜上所述,該種結(jié)構(gòu)需要每一臺(tái)設(shè)備具有高度的穩(wěn)定性與可靠性,而Elmo伺服運(yùn)動(dòng)控制系統(tǒng)正是這樣一種系統(tǒng),它運(yùn)用專利芯片設(shè)計(jì),確保高穩(wěn)定性.低電磁輻射:高抗震12G,使用溫度范圍:40—80℃,強(qiáng)重力可達(dá)25+G,運(yùn)行濕度90%,平均無(wú)故障時(shí)間50萬(wàn)小時(shí)。
圖5整個(gè)系統(tǒng)的體系結(jié)構(gòu)中,運(yùn)動(dòng)控制器采用了以色列ELMO公司的獨(dú)立型的運(yùn)動(dòng)控制器Maestro,驅(qū)動(dòng)器采用Elmo專用伺服驅(qū)動(dòng)器Bassoon。
[align=center]
圖5 Elmo分布式伺服系統(tǒng)體系結(jié)構(gòu)[/align]
運(yùn)動(dòng)控制器Maestro主要由五大模塊組成[5],如圖6。
(1)藍(lán)色表示主機(jī)通信模塊:Host Communications Services,負(fù)責(zé)Maestro與外部的通信。
(2)黑色代表命令行解釋模塊:Command line interpreter,負(fù)責(zé)個(gè)人指令通過(guò)Maestro或SimplIQ立即執(zhí)行。
?。?)棕黃色代表內(nèi)核模塊:Virtual Machine,負(fù)責(zé)執(zhí)行用戶指令程序。
?。?)淡黃色代表控制管理模塊:Motion Manager,發(fā)送與接收來(lái)自各軸的信息,協(xié)調(diào)各軸的運(yùn)動(dòng)。
(5)綠色代表CAN總線模塊:CAN Network Communications Server,內(nèi)部集成有支持CAN總線通信的模塊和支持CANOpen協(xié)議的模塊,負(fù)責(zé)與CAN總線進(jìn)行通信,支持CANopen DS301,DSP401,DSP402通信協(xié)議。
[align=center]
圖6運(yùn)動(dòng)控制器Maestro結(jié)構(gòu)[/align]
各個(gè)模塊,各伺其職而又相互通信,作為系統(tǒng)和外界進(jìn)行信息交流來(lái)完成用戶的指令。各大模塊下轄子模塊,比如:主機(jī)通信模塊分為RS—232通信模塊,局域Ethernet網(wǎng)模塊,遠(yuǎn)程控制Telnet模塊,廣域網(wǎng)WEB模塊,協(xié)議轉(zhuǎn)換網(wǎng)關(guān)Gateway模塊等。與前述一般的CAN總線控制系統(tǒng)使用獨(dú)立總線控制器SJA1000內(nèi)部CAN2.0B協(xié)議模塊與應(yīng)用層模塊完成上位機(jī)通信功能相比,它采用完全的模塊化設(shè)計(jì),具有諸多的優(yōu)點(diǎn):產(chǎn)品更新?lián)Q代快,可以縮短設(shè)計(jì)和制造周期,可以降低成本,維修方便,產(chǎn)品性能可靠。功能模塊的復(fù)用可以降低開發(fā)成本,提高系統(tǒng)的質(zhì)量和安全性能, 保證控制器能滿足需求[6]。內(nèi)部具有CANopenDS301等協(xié)議模塊,無(wú)需再定義應(yīng)用層協(xié)議,遠(yuǎn)程控制模塊用于遠(yuǎn)程控制,以太網(wǎng)模塊用于局域網(wǎng)PC機(jī)控制,網(wǎng)關(guān)模塊用于協(xié)議轉(zhuǎn)換等都是其無(wú)法比擬的。另外,體積超小,穩(wěn)定性超高,內(nèi)部集成功能放大器驅(qū)動(dòng)功能強(qiáng)大,響應(yīng)時(shí)間超短僅有200微秒等諸多優(yōu)點(diǎn)是Elmo產(chǎn)品所獨(dú)有的。
與一般的伺服驅(qū)動(dòng)器相比,Elmo伺服驅(qū)動(dòng)器Bassoon采用智能模塊化設(shè)計(jì),內(nèi)核為摩托羅拉16位DSP電機(jī)控制專用芯片,并且提供了相應(yīng)的開發(fā)工具,用于控制永磁同步電機(jī),異步電機(jī)等。其內(nèi)部包括支持CAN2.0B通信協(xié)議的CAN總線模塊。該DSP具有支持PVT等插補(bǔ)功能??梢酝ㄟ^(guò)Maestro進(jìn)行控制,也可以通過(guò)PC機(jī)直接控制。它具有響應(yīng)時(shí)間超短一般可以達(dá)到微秒級(jí),體積超小等特點(diǎn)。
通過(guò)上位機(jī)編譯產(chǎn)生的中間代碼傳入控制器Maestro中,Maestro不斷轉(zhuǎn)譯上位機(jī)更新的位置命令(運(yùn)動(dòng)曲線),通過(guò)現(xiàn)場(chǎng)總線下傳給驅(qū)動(dòng)器,總線節(jié)點(diǎn)解釋指令以后轉(zhuǎn)化為數(shù)字脈沖信號(hào),控制交流伺服電機(jī)完成指令。
3.2 ELMO運(yùn)動(dòng)控制系統(tǒng)軟件構(gòu)成
Elmo提供了專門的軟件Elmo composer進(jìn)行初始化參數(shù)設(shè)置和參數(shù)更改,運(yùn)動(dòng)控制語(yǔ)言ELMO類VC語(yǔ)言ELMO Studio對(duì)于有關(guān)運(yùn)行軌跡進(jìn)行編程實(shí)現(xiàn),Elmo Recorder用于對(duì)運(yùn)行軌跡的監(jiān)控與記錄。
ELMO Studio運(yùn)動(dòng)控制語(yǔ)言采用高級(jí)語(yǔ)言,指令簡(jiǎn)潔易懂易記,編程簡(jiǎn)單,具有基本的PLC和運(yùn)動(dòng)控制功能。PLC和運(yùn)動(dòng)控制功能的實(shí)現(xiàn)采用統(tǒng)一的一種編程語(yǔ)言,簡(jiǎn)化了程序的編寫。ELMO Studio語(yǔ)言由上位機(jī)編譯器對(duì)源程序進(jìn)行詞法、語(yǔ)法、語(yǔ)義進(jìn)行分析,上位機(jī)編譯器最終生成中間代碼,然后下載到嵌入式運(yùn)動(dòng)控制器(下位機(jī))中由解釋器解釋,下位機(jī)解釋器使用一個(gè)循環(huán)結(jié)構(gòu)讀取并解釋下載到運(yùn)動(dòng)控制器用戶程序區(qū)的運(yùn)動(dòng)控制程序,進(jìn)而實(shí)現(xiàn)運(yùn)動(dòng)控制和PLC控制。它具備多軸同步控制功能,可以協(xié)同1—48軸同時(shí)聯(lián)動(dòng),完成所需的圖樣的路徑。此種控制語(yǔ)言是Elmo所獨(dú)有的高級(jí)編譯語(yǔ)言。一般的CAN總線控制系統(tǒng)不具備多軸同步控制功能。
軟件設(shè)計(jì)的目的是通過(guò)VC++6.0語(yǔ)言開發(fā)出一個(gè)在Window環(huán)境下使用的32位應(yīng)用程序,在軟件的上層是由ELMO公司提供的接口函數(shù)和微軟提供的MFC庫(kù)來(lái)實(shí)現(xiàn)的交互性人機(jī)界面,總體界面風(fēng)格是MDI形式,由一個(gè)主窗口內(nèi)嵌子窗口,在MDI這個(gè)總體結(jié)構(gòu)下所謂*Frame、*View、*Document是三位一體的,控制關(guān)系如圖7:
[align=center]
圖7 類層次結(jié)構(gòu)與相互關(guān)系框圖[/align]
圖7中CMacApiTestApp是CWinApp的派生類,CMainFrame是CMDIFrameWnd的派生類。CMacApiTestApp總管整個(gè)程序,控制整個(gè)進(jìn)程。CMainFrame最重要的是消息處理類,它是其他子窗口的父窗口,無(wú)論什么控制消息都要通過(guò)它。例如響應(yīng)全部的菜單消息、對(duì)話框消息、定時(shí)器消息、控件消息、自定義消息以及底層的*.DLL交互消息,發(fā)送運(yùn)動(dòng)控制命令。
4 總結(jié)
本文通過(guò)比較一般的CAN總線運(yùn)動(dòng)控制系統(tǒng)與Elmo伺服運(yùn)動(dòng)控制系統(tǒng),突出了Elmo控制系統(tǒng)的特點(diǎn)。通過(guò)比較可以知道,Elmo伺服控制系統(tǒng)具有很多一般CAN總線控制系統(tǒng)不具有的構(gòu)造與設(shè)計(jì),是一款穩(wěn)定性與精度超高的運(yùn)動(dòng)控制系統(tǒng)。事實(shí)上,它廣泛的應(yīng)用于航空航天與軍事工業(yè)等穩(wěn)定性要求超高的工作環(huán)境中。Elmo伺服靈巧的模塊化設(shè)計(jì)如果用于其他運(yùn)動(dòng)控制系統(tǒng)中,必將產(chǎn)生很高的生產(chǎn)效率,大大提高系統(tǒng)的穩(wěn)定性。
參考文獻(xiàn)
[1] 鄔寬明.CAN總線原理及應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社, 1996.6
[2] 嚴(yán)彩忠,舒志兵.基于觸摸屏的分布式伺服控制系統(tǒng)研究[J].組合機(jī)床與自動(dòng)化加工技術(shù).2007(4):48-51
[3] 史久根.CAN現(xiàn)場(chǎng)總線系統(tǒng)設(shè)計(jì)技術(shù)[M].北京:國(guó)防工業(yè)出版社,2004.10
[4] 基于CAN的混合動(dòng)力汽車控制系統(tǒng)體系結(jié)構(gòu)研究[J].農(nóng)業(yè)機(jī)械學(xué)報(bào).2004,35(6):9-11
[5] Maestro Software Manual[S].Elmo company
[6] 舒志兵, 等. 交流伺服運(yùn)動(dòng)控制系統(tǒng)[M].北京:清華大學(xué)出版社, 2006.3.