本文探討了開放式控制系統平臺中的Java平臺應用相關內容。
1 引言
開放式控制系統的研究始于80年代。在美國NGC(Next Generation Controller)計劃之后,歐洲推出了OSACA,日本進行了名為OSEC計劃的研究,加拿大也擁有NRC計劃。開放式控制系統不僅收益于機床制造商和數控供應商,也給最終用戶帶來了很大的靈活性。但是,各個計劃所采用的技術還不能真正實現“開放”。同時,以上各個計劃都相互獨立,他們之間無統一的標準和協議,因此,對用戶而言還不能算得上真正的開放。Java是針對網絡環境開發的平臺和一種語言,自1995年由Sun公司推出以來,以其跨平臺、安全性等諸多優點在計算機界得到廣泛應用。本文討論如何把Java平臺應用于開放式控制系統中,達到統一平臺的目的。
2 開放式控制系統的要求
開放式控制系統包括一組邏輯上分離的組件,組件之間和組件與應用平臺之間的界面有良好的定義,使來自不同供應商的組件協同工作,運行于多個平臺之上完成控制工作,并對用戶和其它控制系統提供良好的界面。
開放式控制系統有以下特點:
(1)互操作性 提供一個統一標準的通訊系統來實現數據交換。
(2)可移植性 使用平臺提供的標準API,應用程序可在不同的平臺上運行。
(3)伸縮性 可任意增刪各功能模塊。
(4)可互換性 可任意互換功能模塊。
3 Java平臺的特點
Java的許多特征符合開放式控制系統的要求。Java平臺如圖1所示。
圖1 Java平臺結構
Java平臺由兩層結構組成:
(1)Java類和Java應用程序接口:為應用程序提供標準的訪問接口和一些基本類庫供應用程序訪問和擴展。
(2)Java虛擬機(JVM Java Virtual Machine):是Java平臺的核心,是實現Java跨平臺的關鍵。涵蓋了與平臺相關的所有服務功能,包括用戶界面、文件系統操作和網絡支持等。
Java作為一種全新的開放平臺,其變成語言和結構有以下優點:
(1)語言嚴格 所有程序嚴格按面向對象的方法設計,否則會出錯。
(2)語言簡單 繼承了C++,但去掉了頭文件、指針句法和運算、結構聯合、操作符重載和虛基類。
(3)分布式的語言 支持多種傳輸協議,如TCP/IP、HTTP和FTP,另外,還支持分布式計算。
(4)動態分配內存,保證應用程序在各方面都安全可靠
通過兩種方式保證其安全性:
?、俳怪羔樅蛢却嬖L問
②對Java代碼運行前進行合法性檢查,以防止非法訪問數據結構、類和內存。
(5)結構中立 由于編譯器長生結構中立的字節代碼可運行于任何平臺,只要支持Java系統的軟硬件平臺都可運行字節代碼。Java支持的平臺多達四十多種,包括OS/2、Sun Soloris、Linux、WinNT、Win95、Win98和VxWorks等等。
(6)可移植性 Java的基本數據類型大小是確定的,其整型和浮點型都是32位,保證應用程序的可移植性。
(7)多線程 Java的多線程可在多處理器上運行,能提供更好的交互響應和實時特征。與微軟的產品對比如下表。
表 Java和Windows產品的對比表
由表1可見,作為開放式控制系統的基本要求,Java的確勝出一籌。
在實時控制系統中,以數控機床為例,插補和位置控制是實時任務,在高精度和高速度的數控系統中,中斷響應速度可達微秒級,這種實時控制稱為硬實時,即在給定的時間周期內必須把任務處理結束,否則將導致不可預料的結果。因此必須獲得每個實時任務的CPU處理時間和內存分配情況,才能在系統負載中合理分配實時任務并正常執行。
Java的特性與實時控制的要求存在差距,體現在以下兩個方面:
(1)內存的動態管理 與C++不一樣,Java為用戶自動清除內存。它使用一種稱為垃圾收集器(GC)的技術自動清除內存中已經不使用的內存空間,這樣帶來一個問題:用戶無法預先確定GC算法的執行時間,所有的線程都要在GC算法執行時掛起。這種不確定性與實時計算相矛盾,因為實時計算需要精確的確定每個任務的執行時間。
(2)不能對底層硬件訪問 用戶開發的Java程序應當是和具體的硬件及操作系統無關,用戶一旦直接訪問底層設備,勢必破壞Java的跨平臺特性。
4 在開放式控制系統平臺中的應用
在數控系統中,應用程序可分為人機界面管理、三維仿真與診斷等實時程序和插補運算、位置控制等實時控制程序。實時控制要求中斷響應速度要快并且計算量大,一般需要單獨的CPU來處理,或者采用硬件插卡的方式實現。以OSACA的應用系統為例,采用了如圖2所示的雙PC結構:
圖2 雙PC結構
圖2中,HMC(人機控制)是非實時任務;AC-X、AC-Y、AC-Z(軸控制)和MC(運動控制)是實時任務。軸控制和運動控制包括插補運算和位置控制,所以放在單獨一臺PC上實現。兩臺PC之間即實時和非實時之間采有TCP/IP協議進行通訊。
實際上,插補運算包括插補準備和插補計算兩部分。插補運算作為實時任務主要是受限于過去CPU的處理速度和內存容量,隨著高速度、高性能CPU和大容量內存的出現,完全可以解決插補運算的速度要求和數據量的問題。可以預先計算出軌跡坐標的XYZ值,并存儲在數據表中,再逐段送至位置控制。目前的數字伺服控制器已能將位置控制算法包含在內,可以不再開發位置控制的應用程序模塊。因此,數控應用軟件的開發可以都劃分為非實時任務。
另外,當前存在的開放式控制系統平臺如OSACA、NGC和OSEC內部之間是開放的。如支持OSACA體系結構的平臺上開發的控制應用程序對于OSACA的平臺是開放的。但各個開放式控制系統平臺之間還不能實現開放,因為它們的體系結構不相同,所支持的協議和采用的數據結構相互之間都沒有公開。因此,它們之間的通訊需要設計網關來實現數據的轉化。見圖3。
圖3 開放式控制系統間的通訊
Java作為一種開放的體系結構,不僅僅因為其被世界所公認,更重要的是它具有先進的平臺設計手段,成為真正的開放平臺。目前開放式控制系統平臺所面臨的問題可以利用Java平臺來解決,如圖4所示。利用Java平臺提供的功能實現硬件和操作系統的無關性,實現真正的開放控制平臺。數控軟件的開發全部轉化為非實時控制,應用程序通過訪問JavaAPI來獲取平臺的支持,利用Java語言的可移植性,按模塊化開發的應用程序具有優良的可移植性,可運行于支持Java的平臺之上。目前許多伺服控制器廠商已推出基于Java平臺的產品,具備Java的界面,這樣,建立于Java平臺上的應用程序可直接訪問速度伺服的數據,從而可以解決實時控制和如何統一平臺的問題。
圖4 Java平臺的應用
5 結論和展望
本文提出了一種利用Java真正開放式平臺的方案。Java的開發者也正在把實時功能加入到Java平臺中去,以適應工業控制的要求。隨著網絡化時代的到來,基于Java的平臺不但能稱為開放式控制平臺,而且還能利用其強大的網絡功能實現異地制造,將極大地促進敏捷制造的發展。
相關文章
- 2021-09-08BIM技術叢書Revit軟件應用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業技術人員計算機應用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應用 制表、數據處理及宏應用PDF下載
- 2021-08-30從零開始AutoCAD 2014中文版機械制圖基礎培訓教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎培訓教程 [朱
- 2021-08-30電氣CAD實例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風暴2:Maya影像實拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術設計案例教程中文版AutoCAD 建筑設計案例
- 2021-08-29環境藝術制圖AutoCAD [徐幼光 編著] 2013年PDF下載
- 2021-08-29機械AutoCAD 項目教程 第3版 [繆希偉 主編] 2012年PDF