作者:朱志紅,楊凡,周會成
嵌入式技術迅速發展,已經被廣泛地應用于各行各業。將嵌入式技術和數控技術結合起來產生了很多理論和應用成果。但是,隨著機床加工零件復雜程度越來越大,建立嵌入式數控系統一致的體系架構越來越迫切。沒有體系結構提供通用的方法指導,將各式各樣的軟硬件模塊集成到數控系統中將是非常繁重且容易出錯的工作。嵌入式數控系統體系結構就是要為各個模塊提供集成規則和接口規范,通過這些集成規則和接口規范,不同的開發者能夠構建出通用的模塊。利用通用的模塊和通用的集成規則,可以構建不同的嵌入式數控系統,由數控系統集成到工控站,由工控站再到工控網絡乃至更復雜的系統。嵌入式數控體系結構能夠提高系統的靈活性、可靠性、安全性和開放性。美國國家技術標準化組織(NIST)就致力于為各種機械控制系統建立一種參考體系結構。本文研究了嵌入式數控系統的硬件體系結構和軟件體系結構,并結合所做工作,介紹了這種體系結構的一種實例。
1 嵌入式數控系統硬件體系結構
嵌入式數控系統硬件體系結構如圖1所示。
圖1嵌入式數控系統硬件體系結構
嵌入式數控系統必須包含一個可編程計算部件,也可以包含多個,構成多CPU系統。嵌入式處理器或控制器種類很多,比較常用的有ARM、嵌入式X86、MCU等,處理器是整個系統運算和控制中心,它的架構越來越趨向于采用RISC指令集Harvard架構。可編程計算部件,若干年前還是單指處理器或微控制器,而現在卻增加了如FPGA等其它可編程計算資源。
數控系統要和操作人員交互,必須有一個顯示硬件,可以是CRT顯示器,但是一般嵌入式處理器中集成LCD控制器,它提供與DSTN(Dual-Layer Super Twist Nematic,雙掃描扭曲向列液晶屏)或TFT(Thin Film Transistor,薄膜晶體管液晶屏)顯示器的接口,通過這個接口可以直接驅動液晶顯示屏。
隨著USB移動存儲設備使用的推廣,平臺通過USB主控制器實現對USB設備的支持和控制。處理器中也可能集成了USB客戶端控制器,方便實現USB客戶端接口,一般通過這個接口進行上位機與平臺間的應用軟件調試。
串口用來實現上下位機通信,在有些伺服驅動裝置中也提供串口連接,因此,也可以通過串口與驅動連接。
外部存儲器總線接口支持各種外部存儲器:SDRAM、RAM和閃存儲器,內存一般選用SDRAM,閃存是一類非易失性存儲器,在電源關閉后仍能保持片內信息,這里用來存儲數控系統程序及配制數據。
進給軸接口是數控系統和進給伺服系統的橋梁。就現階段經常使用的伺服控制系統而言,進給控制接口一般有串行式接口、脈沖式接口、模擬式接口等等。
主軸控制接口連接數控系統與主軸驅動單元,它包含兩個部分:主軸速度控制輸出和主軸編碼器輸入。
在數控系統內集成的PLC屬于內置式,它有設計靈活、結構緊湊、針對性強等特點,主要完成主軸轉速的S代碼、刀具功能的T代碼以及控制主軸正反轉與啟停、主軸換檔、冷卻液開關、卡盤松緊等M代碼。
傳感器接口用來檢測機床位置信息,實現各種控制算法的計算輸入。
現代制造工程的發展要求數控系統間應該能夠通過網絡互連,傳遞命令和數據信息,并行完成數控任務。因此加入以太網模塊,以便在需要時實現數控系統的聯網。
上述各功能模塊通過標準總線連接,實行統一的總線接口規范。該體系結構中有些功能模塊不是每一個嵌入式數控系統都必須的,可根據具體要求裁減。
2 嵌入式數控系統軟件體系結構
嵌入式數控系統軟件體系結構如圖2所示:
圖2嵌入式數控系統軟件體系結構
嵌入式數控系統軟件體系結構分為系統平臺和應用軟件兩大部分。上層應用軟件分數控應用程序接口(NCAPI)和操作界面組件兩個層次,以分別實現對機床廠和用戶這兩個層次的開放。
底層模塊除了PLC之外的部分是不對外開放的,非系統開發者可以通過NCAPI使用底層的功能。底層模塊完成插補任務(粗插補,微直線段精插補,單段, 跳段, 并行程序段處理);PLC任務(報警處理,MST處理,急停和復位處理,虛擬軸驅動程序,刀具壽命管理,突發事件處理);位置控制任務(齒隙補償, 螺距補償,極限位置控制,位置輸出);伺服任務(控制伺服輸出、輸入)以及公用數據區管理(系統中所有資源的控制信息管理)。因此必須具有多任務的處理能力,即;任務建立;撤消;調度;喚醒;阻塞;掛起;激活;延時的處理能力;創建信號量;釋放信號量;取信號量值的能力。
上層軟件負責零件程序的編輯、解釋,參數的設置,PLC的狀態顯示,MDI及故障顯示、加工軌跡、加工程序行的顯示等,通過共享內存、FIFO和中斷與底層模塊進數據交換。上層軟件模塊包括:解釋器模塊,MDI運行模塊,程序編輯模塊,自動加工模塊,參數編輯模塊,PLC顯示模塊,故障診斷模塊等等。
數控應用軟件開發接口(NCAPI)是為針對不同的機床和不同的要求而提供的通用接口函數,在此之上可以方便地開發出具體的數控系統,如華中I型銑床數控系統,世紀星車床數控系統等。NCAPI與原華中I型提供的API接口保持一致。統一的API保證系統的可移植性和模塊的互換性;系統開發集成環境中的配置功能可以通過配置不同的軟件模塊實現系統性能的伸縮性,系統性能的伸縮性則通過更換系統硬件得以保證。
3 應用實例
按照上述嵌入式體系結構的層次劃分,本文開發了基于嵌入式PC和LINUX操作系統的嵌入式數控系統。
CPU采用嵌入式PC單元,通過PC104總線嵌入到數控主板中。在數控主板上,繼承了開關量接口電路,MCP、MDI鍵盤接口電路,進給軸接口電路以及主軸接口電路。各接口電路由核心器件FPGA芯片集中控制。為滿足CNC裝置對開放性的要求,數控主板采用雙FPGA設計。一個FPGA芯片負責控制開關量接口電路,MCP、MDI鍵盤接口電路,主軸接口電路,串行口伺服驅動裝置接口電路;另一個FPGA芯片負責控制脈沖量伺服驅動裝置或步進電機驅動裝置接口電路,模擬量伺服驅動裝置接口電路。兩個FPGA芯片通過PC/104總線嵌入式PC機控制。利用FPGA芯片的靈活性,在不改變硬件電路的情況下,通過改變FPGA芯片的固件,以及兩個FPGA芯片靈活搭配,可以構造出不同配置的數控裝置。
操作系統是通過改造Linux內核使其成為實時操作系統。具體方法是:在Linux操作系統中嵌入一個硬件抽象層,接管所有中斷和對硬件的操作。由于Linux采用整體式的模塊化結構,數控系統任務中需要實時響應的任務做成數控實時模塊,嵌入到Linux內核中,這些任務包括:伺服監控、PLC、位置控制等周期任務和插補這個非周期任務,刀補、譯碼和網絡基本功能打包成數控應用程序接口。
在實時Linux軟件平臺的基礎上,應用軟件平臺包含的離散點I/O控制API、傳感器API、位置控制器API等接口為通用API接口。應用程序層包含的過程控制、人機界面及系統集成與配置支撐環境三部分只需要用實時Linux操作系統相關系統API替換相應的模塊通信接口即可,上層應用模塊可以不做修改。同時,應用軟件平臺具備良好的開放性,用戶可自定義API來擴充系統功能支持,本文在應用平臺層自定義了一個數控圖形庫API,用來支持數控系統的圖形顯示功能。
4 結語
本文提出的這種開放的嵌入式數控系統體系結構,在硬件上,標準的總線屏蔽了各功能部件差異,不同功能的數控硬件通過標準的信號規范來定義。在軟件上,嵌入式實時操作系統為數控應用軟件提供了系統接口,屏蔽硬件細節,提供實時、可靠、多任務的運行環境。軟件體系結構總體上分層,使得體系結構清晰明了;層內按功能模塊化,盡量減少模塊耦合,使得軟件復用性很好,有利于數控系統功能裁減和系統維護。既保證了硬件平臺的開放性和穩定性,也使得軟件移植和設計更加方便。
責任編輯:gt
-
嵌入式
+關注
關注
5087文章
19145瀏覽量
306121 -
操作系統
+關注
關注
37文章
6850瀏覽量
123431 -
數控系統
+關注
關注
5文章
260瀏覽量
24267
發布評論請先 登錄
相關推薦
評論