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

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

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

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

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

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

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

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