摘 要:基于CAN總線的運動控制系統(tǒng)廣泛的應用于軍事及民用工業(yè)領域。本文介紹了運用以色列Elmo伺服及其CAN總線技術實現(xiàn)的交流伺服運動控制系統(tǒng),具體設計了整個控制系統(tǒng)的各個部分及其內部模塊。從硬件與軟件兩方面將其與一般的CAN總線控制系統(tǒng)相比較,體現(xiàn)出該系統(tǒng)各方面的特點與優(yōu)勢。
關鍵詞:Elmo伺服 CAN總線 模塊化設計
[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)場總線是80年代末由德國Bosch公司為公共汽車系統(tǒng)設計的現(xiàn)場總線,是迄今為止唯一成為國際標準的現(xiàn)場總線,也是公認的全球范圍內最具前途的現(xiàn)場總線之一。CAN現(xiàn)場總線最初用于汽車監(jiān)控系統(tǒng),由于CAN總線系統(tǒng)的特性,后來CAN總線廣泛的應用于過程工業(yè),機械工業(yè),紡織工業(yè),農用機器,機器人,數(shù)控機床,醫(yī)療器械及傳感器等領域。1999年,6千萬個CAN總線控制器投入使用,2000年市場銷售超過一億個現(xiàn)場總線器件[1]。
本文介紹了南京工業(yè)大學運動控制研究所設計的一種基于CAN總線和以太網(wǎng)的Elmo伺服運動控制系統(tǒng)及其設計。該產品由以色列Elmo公司提供包含技術:模擬功率轉換,基于電流回路控制的ASIC,DSP和處理器—數(shù)字驅動器,總線結構—數(shù)字驅動器,第三代運動控制編程語言Elmo Studio。硬件上采用以色列ELMO公司的MASETRO、英國TRIO公司的MC206多軸控制器、泉毅公司PWS6600C-S和BAS-3/230系列交流伺服驅動器設計[2]?,F(xiàn)在ELMO擁有廣泛的應用領域:半導體,醫(yī)療,電子產品,包裝機械,線性電機,材料處理,木材切割,機器人,軍事和航空,實驗室自動化。這里,Elmo伺服運動控制系統(tǒng)主要作為基于CAN總線的交流伺服實驗平臺應用于南工大總線運動控制實驗以及伺服特性實驗中。
2 標準CAN總線控制系統(tǒng)設計
CAN是一種串行通信總線,采用CAN2.0A或2.0B通信標準,廣播式通信方式,多主結構,無損仲裁,有完善的錯誤檢測機制,自動重發(fā)機制。
CAN具有技術先進、可靠性高、成本合理的特點,但CAN協(xié)議本身并不完整。其定義了數(shù)據(jù)鏈路層和部分物理層,為網(wǎng)絡中的CAN節(jié)點提供了一種廣播式報文分幀傳輸通道,其流量控制、節(jié)點地址分配、通訊建立等具體內容需要使用者自己實現(xiàn),因而需要建立應用層協(xié)議。當前國外流行的CAN總線分布式運動控制系統(tǒng)應用層協(xié)議主要標準有:CANopen協(xié)議,DeviceNet和SDS。國內主要標準有iCAN等,在國內已實現(xiàn)400萬個節(jié)點[3]。
按照CAN總線協(xié)議,CAN總線可以是任意拓撲結構的,但一般來說,CAN總線主要采用圖1所示的4種拓撲結構。
[align=center]

圖1 CAN總線的4種拓撲結構[/align]
基于CAN總線的運動控制系統(tǒng)如圖2所示,有兩個顯著的特點,第一是其控制對象為伺服運動控制對象,第二是其網(wǎng)絡化控制器包括CAN總線通信媒介和CAN控制器節(jié)點兩部分。
[align=center]

圖2 基于CAN總線伺服運動控制系統(tǒng)結構[/align]
硬件上采用PHILIPS的SJA1000獨立CAN控制器,PCA82C250通用CAN收發(fā)器,為了保證總線傳輸質量,提高抗干擾能力,可以在SJA1000和PCA82C250之間加接兩個高速光耦,一般使用6N137[4]。SJA1000控制器支持CAN2.0B底層通信協(xié)議,CANopen或Device Net等應用層通信協(xié)議。最簡單的硬件電路如圖3所示。通過制定簡單的通信協(xié)議之后,便可以構成簡單的CAN總線控制系統(tǒng)。此種系統(tǒng)價格便宜,經濟實用,適用于智能通信卡、汽車控制系統(tǒng)、電梯控制系統(tǒng)、溫度和濕度等數(shù)據(jù)采集和報警系統(tǒng)、廠房監(jiān)控系統(tǒng)等對于穩(wěn)定性,可靠性和工作環(huán)境要求一般的系統(tǒng)中。
[align=center]

圖3 最簡單的CAN總線硬件電路[/align]
3 基于CAN總線的ELMO運動控制系統(tǒng)
3.1 ELMO系統(tǒng)硬件構成
系統(tǒng)基于CAN 2.0B通信協(xié)議,應用層采用的是分布式運動控制系統(tǒng)常用的CANopen協(xié)議。該協(xié)議詳細規(guī)定了通信模式,網(wǎng)絡管理及其相關參數(shù)的設定。
系統(tǒng)設計采用的拓撲結構是菊花鏈型拓撲結構。此種拓撲結構是用電纜把一臺設備依次連接到下一臺設備,一直到最后一臺設備和終端器為止。如圖4所示。
[align=center]

圖4 菊花鏈型拓撲結構[/align]
這里的終端器集成在最后一個驅動器中。這種結構也可以認為是長度為零的總線型拓撲結構。若采用菊花鏈型拓撲結構,當一臺設備從區(qū)域取下來,該設備后面區(qū)域上的所有設備將失去連接,從而產生故障。這將導致許多設備失效 潛在的過程停運。本系統(tǒng)采用此種拓撲結構:(1)CAN總線最遠通信距離是10km,用于工廠控制或監(jiān)控時,此種結構可以降低總的電纜長度,減少電纜的使用從而減少設備連接費用。(2)綜上所述,該種結構需要每一臺設備具有高度的穩(wěn)定性與可靠性,而Elmo伺服運動控制系統(tǒng)正是這樣一種系統(tǒng),它運用專利芯片設計,確保高穩(wěn)定性.低電磁輻射:高抗震12G,使用溫度范圍:40—80℃,強重力可達25+G,運行濕度90%,平均無故障時間50萬小時。
圖5整個系統(tǒng)的體系結構中,運動控制器采用了以色列ELMO公司的獨立型的運動控制器Maestro,驅動器采用Elmo專用伺服驅動器Bassoon。
[align=center]

圖5 Elmo分布式伺服系統(tǒng)體系結構[/align]
運動控制器Maestro主要由五大模塊組成[5],如圖6。
?。?)藍色表示主機通信模塊:Host Communications Services,負責Maestro與外部的通信。
(2)黑色代表命令行解釋模塊:Command line interpreter,負責個人指令通過Maestro或SimplIQ立即執(zhí)行。
(3)棕黃色代表內核模塊:Virtual Machine,負責執(zhí)行用戶指令程序。
(4)淡黃色代表控制管理模塊:Motion Manager,發(fā)送與接收來自各軸的信息,協(xié)調各軸的運動。
(5)綠色代表CAN總線模塊:CAN Network Communications Server,內部集成有支持CAN總線通信的模塊和支持CANOpen協(xié)議的模塊,負責與CAN總線進行通信,支持CANopen DS301,DSP401,DSP402通信協(xié)議。
[align=center]

圖6運動控制器Maestro結構[/align]
各個模塊,各伺其職而又相互通信,作為系統(tǒng)和外界進行信息交流來完成用戶的指令。各大模塊下轄子模塊,比如:主機通信模塊分為RS—232通信模塊,局域Ethernet網(wǎng)模塊,遠程控制Telnet模塊,廣域網(wǎng)WEB模塊,協(xié)議轉換網(wǎng)關Gateway模塊等。與前述一般的CAN總線控制系統(tǒng)使用獨立總線控制器SJA1000內部CAN2.0B協(xié)議模塊與應用層模塊完成上位機通信功能相比,它采用完全的模塊化設計,具有諸多的優(yōu)點:產品更新?lián)Q代快,可以縮短設計和制造周期,可以降低成本,維修方便,產品性能可靠。功能模塊的復用可以降低開發(fā)成本,提高系統(tǒng)的質量和安全性能, 保證控制器能滿足需求[6]。內部具有CANopenDS301等協(xié)議模塊,無需再定義應用層協(xié)議,遠程控制模塊用于遠程控制,以太網(wǎng)模塊用于局域網(wǎng)PC機控制,網(wǎng)關模塊用于協(xié)議轉換等都是其無法比擬的。另外,體積超小,穩(wěn)定性超高,內部集成功能放大器驅動功能強大,響應時間超短僅有200微秒等諸多優(yōu)點是Elmo產品所獨有的。
與一般的伺服驅動器相比,Elmo伺服驅動器Bassoon采用智能模塊化設計,內核為摩托羅拉16位DSP電機控制專用芯片,并且提供了相應的開發(fā)工具,用于控制永磁同步電機,異步電機等。其內部包括支持CAN2.0B通信協(xié)議的CAN總線模塊。該DSP具有支持PVT等插補功能??梢酝ㄟ^Maestro進行控制,也可以通過PC機直接控制。它具有響應時間超短一般可以達到微秒級,體積超小等特點。
通過上位機編譯產生的中間代碼傳入控制器Maestro中,Maestro不斷轉譯上位機更新的位置命令(運動曲線),通過現(xiàn)場總線下傳給驅動器,總線節(jié)點解釋指令以后轉化為數(shù)字脈沖信號,控制交流伺服電機完成指令。
3.2 ELMO運動控制系統(tǒng)軟件構成
Elmo提供了專門的軟件Elmo composer進行初始化參數(shù)設置和參數(shù)更改,運動控制語言ELMO類VC語言ELMO Studio對于有關運行軌跡進行編程實現(xiàn),Elmo Recorder用于對運行軌跡的監(jiān)控與記錄。
ELMO Studio運動控制語言采用高級語言,指令簡潔易懂易記,編程簡單,具有基本的PLC和運動控制功能。PLC和運動控制功能的實現(xiàn)采用統(tǒng)一的一種編程語言,簡化了程序的編寫。ELMO Studio語言由上位機編譯器對源程序進行詞法、語法、語義進行分析,上位機編譯器最終生成中間代碼,然后下載到嵌入式運動控制器(下位機)中由解釋器解釋,下位機解釋器使用一個循環(huán)結構讀取并解釋下載到運動控制器用戶程序區(qū)的運動控制程序,進而實現(xiàn)運動控制和PLC控制。它具備多軸同步控制功能,可以協(xié)同1—48軸同時聯(lián)動,完成所需的圖樣的路徑。此種控制語言是Elmo所獨有的高級編譯語言。一般的CAN總線控制系統(tǒng)不具備多軸同步控制功能。
軟件設計的目的是通過VC++6.0語言開發(fā)出一個在Window環(huán)境下使用的32位應用程序,在軟件的上層是由ELMO公司提供的接口函數(shù)和微軟提供的MFC庫來實現(xiàn)的交互性人機界面,總體界面風格是MDI形式,由一個主窗口內嵌子窗口,在MDI這個總體結構下所謂*Frame、*View、*Document是三位一體的,控制關系如圖7:
[align=center]

圖7 類層次結構與相互關系框圖[/align]
圖7中CMacApiTestApp是CWinApp的派生類,CMainFrame是CMDIFrameWnd的派生類。CMacApiTestApp總管整個程序,控制整個進程。CMainFrame最重要的是消息處理類,它是其他子窗口的父窗口,無論什么控制消息都要通過它。例如響應全部的菜單消息、對話框消息、定時器消息、控件消息、自定義消息以及底層的*.DLL交互消息,發(fā)送運動控制命令。
4 總結
本文通過比較一般的CAN總線運動控制系統(tǒng)與Elmo伺服運動控制系統(tǒng),突出了Elmo控制系統(tǒng)的特點。通過比較可以知道,Elmo伺服控制系統(tǒng)具有很多一般CAN總線控制系統(tǒng)不具有的構造與設計,是一款穩(wěn)定性與精度超高的運動控制系統(tǒng)。事實上,它廣泛的應用于航空航天與軍事工業(yè)等穩(wěn)定性要求超高的工作環(huán)境中。Elmo伺服靈巧的模塊化設計如果用于其他運動控制系統(tǒng)中,必將產生很高的生產效率,大大提高系統(tǒng)的穩(wěn)定性。
參考文獻
[1] 鄔寬明.CAN總線原理及應用系統(tǒng)設計[M].北京:北京航空航天大學出版社, 1996.6
[2] 嚴彩忠,舒志兵.基于觸摸屏的分布式伺服控制系統(tǒng)研究[J].組合機床與自動化加工技術.2007(4):48-51
[3] 史久根.CAN現(xiàn)場總線系統(tǒng)設計技術[M].北京:國防工業(yè)出版社,2004.10
[4] 基于CAN的混合動力汽車控制系統(tǒng)體系結構研究[J].農業(yè)機械學報.2004,35(6):9-11
[5] Maestro Software Manual[S].Elmo company
[6] 舒志兵, 等. 交流伺服運動控制系統(tǒng)[M].北京:清華大學出版社, 2006.3.