顶级欧美丰满熟妇XXXXX视频,中文字幕亚洲精品乱码,久久黑国产,中文字幕一区二区三区日韩精品 ,色九月亚洲综合网

工業(yè)以太網(wǎng)

Java平臺(tái)在開放式控制系統(tǒng)平臺(tái)中的應(yīng)用研究

ainet.cn   2007年11月01日
 

摘 要:現(xiàn)有的開放式控制系統(tǒng)平臺(tái)沒有統(tǒng)一的開發(fā)規(guī)范,為此,本文研究了Java——一種先進(jìn)的真正的開放體系結(jié)構(gòu),應(yīng)用于開放式控制系統(tǒng)平臺(tái)的優(yōu)越性,以及如何利用Java平臺(tái)的開放性建立統(tǒng)一開放式控制系統(tǒng)平臺(tái)。同時(shí),針對Java平臺(tái)實(shí)時(shí)控制的缺陷,提出了把控制的實(shí)時(shí)任務(wù)轉(zhuǎn)化為非實(shí)時(shí)任務(wù)的解決方法。
關(guān)鍵詞:Java平臺(tái);開放式控制系統(tǒng)平臺(tái);實(shí)時(shí)控制
分類號:TP273 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號:1001-2265(2000) 02-0036-03

1 引言

  開放式控制系統(tǒng)的研究始于80年代。在美國NGC(Next Generation Controller)計(jì)劃之后,歐洲推出了OSACA,日本進(jìn)行了名為OSEC計(jì)劃的研究,加拿大也擁有NRC計(jì)劃。開放式控制系統(tǒng)不僅收益于機(jī)床制造商和數(shù)控供應(yīng)商,也給最終用戶帶來了很大的靈活性。但是,各個(gè)計(jì)劃所采用的技術(shù)還不能真正實(shí)現(xiàn)“開放”。同時(shí),以上各個(gè)計(jì)劃都相互獨(dú)立,他們之間無統(tǒng)一的標(biāo)準(zhǔn)和協(xié)議,因此,對用戶而言還不能算得上真正的開放。Java是針對網(wǎng)絡(luò)環(huán)境開發(fā)的平臺(tái)和一種語言,自1995年由Sun公司推出以來,以其跨平臺(tái)、安全性等諸多優(yōu)點(diǎn)在計(jì)算機(jī)界得到廣泛應(yīng)用。本文討論如何把Java平臺(tái)應(yīng)用于開放式控制系統(tǒng)中,達(dá)到統(tǒng)一平臺(tái)的目的。

2 開放式控制系統(tǒng)的要求

  開放式控制系統(tǒng)包括一組邏輯上分離的組件,組件之間和組件與應(yīng)用平臺(tái)之間的界面有良好的定義,使來自不同供應(yīng)商的組件協(xié)同工作,運(yùn)行于多個(gè)平臺(tái)之上完成控制工作,并對用戶和其它控制系統(tǒng)提供良好的界面。
  開放式控制系統(tǒng)有以下特點(diǎn):
  (1)互操作性 提供一個(gè)統(tǒng)一標(biāo)準(zhǔn)的通訊系統(tǒng)來實(shí)現(xiàn)數(shù)據(jù)交換。
  (2)可移植性 使用平臺(tái)提供的標(biāo)準(zhǔn)API,應(yīng)用程序可在不同的平臺(tái)上運(yùn)行。
  (3)伸縮性 可任意增刪各功能模塊。
  (4)可互換性 可任意互換功能模塊。

3 Java平臺(tái)的特點(diǎn)

  Java的許多特征符合開放式控制系統(tǒng)的要求。Java平臺(tái)如圖1所示。

1

圖1 Java平臺(tái)結(jié)構(gòu)

  Java平臺(tái)由兩層結(jié)構(gòu)組成:
  (1)Java類和Java應(yīng)用程序接口:為應(yīng)用程序提供標(biāo)準(zhǔn)的訪問接口和一些基本類庫供應(yīng)用程序訪問和擴(kuò)展。
  (2)Java虛擬機(jī)(JVM Java Virtual Machine):是Java平臺(tái)的核心,是實(shí)現(xiàn)Java跨平臺(tái)的關(guān)鍵。涵蓋了與平臺(tái)相關(guān)的所有服務(wù)功能,包括用戶界面、文件系統(tǒng)操作和網(wǎng)絡(luò)支持等。
  Java作為一種全新的開放平臺(tái),其變成語言和結(jié)構(gòu)有以下優(yōu)點(diǎn):
  (1)語言嚴(yán)格 所有程序嚴(yán)格按面向?qū)ο蟮姆椒ㄔO(shè)計(jì),否則會(huì)出錯(cuò)。
  (2)語言簡單 繼承了C++,但去掉了頭文件、指針句法和運(yùn)算、結(jié)構(gòu)聯(lián)合、操作符重載和虛基類。
  (3)分布式的語言 支持多種傳輸協(xié)議,如TCP/IP、HTTP和FTP,另外,還支持分布式計(jì)算。
  (4)動(dòng)態(tài)分配內(nèi)存,保證應(yīng)用程序在各方面都安全可靠
  通過兩種方式保證其安全性:
  ①禁止指針和內(nèi)存訪問
 ?、趯ava代碼運(yùn)行前進(jìn)行合法性檢查,以防止非法訪問數(shù)據(jù)結(jié)構(gòu)、類和內(nèi)存。
  (5)結(jié)構(gòu)中立 由于編譯器長生結(jié)構(gòu)中立的字節(jié)代碼可運(yùn)行于任何平臺(tái),只要支持Java系統(tǒng)的軟硬件平臺(tái)都可運(yùn)行字節(jié)代碼。Java支持的平臺(tái)多達(dá)四十多種,包括OS/2、Sun Soloris、Linux、WinNT、Win95、Win98和VxWorks等等。
  (6)可移植性 Java的基本數(shù)據(jù)類型大小是確定的,其整型和浮點(diǎn)型都是32位,保證應(yīng)用程序的可移植性。
  (7)多線程 Java的多線程可在多處理器上運(yùn)行,能提供更好的交互響應(yīng)和實(shí)時(shí)特征。與微軟的產(chǎn)品對比如下表。

表  Java和Windows產(chǎn)品的對比表

名稱 跨硬件平臺(tái) 跨軟件平臺(tái) 安全性 可移植性
Java 任意 任意
WinNT4 X86 PowerPC
MIPS Alpha
Dos Windows3x
Win95
較好 一般
Win95 X86 Dos Windows3x 一般
Win98 X86 Dos Windows3x
Win95
一般
Win2000 X86 Alpha Dos Windows3x
Win9x WinNT
較好 一般

  由表1可見,作為開放式控制系統(tǒng)的基本要求,Java的確勝出一籌。
  在實(shí)時(shí)控制系統(tǒng)中,以數(shù)控機(jī)床為例,插補(bǔ)和位置控制是實(shí)時(shí)任務(wù),在高精度和高速度的數(shù)控系統(tǒng)中,中斷響應(yīng)速度可達(dá)微秒級,這種實(shí)時(shí)控制稱為硬實(shí)時(shí),即在給定的時(shí)間周期內(nèi)必須把任務(wù)處理結(jié)束,否則將導(dǎo)致不可預(yù)料的結(jié)果。因此必須獲得每個(gè)實(shí)時(shí)任務(wù)的CPU處理時(shí)間和內(nèi)存分配情況,才能在系統(tǒng)負(fù)載中合理分配實(shí)時(shí)任務(wù)并正常執(zhí)行。
  Java的特性與實(shí)時(shí)控制的要求存在差距,體現(xiàn)在以下兩個(gè)方面:
  (1)內(nèi)存的動(dòng)態(tài)管理 與C++不一樣,Java為用戶自動(dòng)清除內(nèi)存。它使用一種稱為垃圾收集器(GC)的技術(shù)自動(dòng)清除內(nèi)存中已經(jīng)不使用的內(nèi)存空間,這樣帶來一個(gè)問題:用戶無法預(yù)先確定GC算法的執(zhí)行時(shí)間,所有的線程都要在GC算法執(zhí)行時(shí)掛起。這種不確定性與實(shí)時(shí)計(jì)算相矛盾,因?yàn)閷?shí)時(shí)計(jì)算需要精確的確定每個(gè)任務(wù)的執(zhí)行時(shí)間。
  (2)不能對底層硬件訪問 用戶開發(fā)的Java程序應(yīng)當(dāng)是和具體的硬件及操作系統(tǒng)無關(guān),用戶一旦直接訪問底層設(shè)備,勢必破壞Java的跨平臺(tái)特性。

4 在開放式控制系統(tǒng)平臺(tái)中的應(yīng)用

  在數(shù)控系統(tǒng)中,應(yīng)用程序可分為人機(jī)界面管理、三維仿真與診斷等實(shí)時(shí)程序和插補(bǔ)運(yùn)算、位置控制等實(shí)時(shí)控制程序。實(shí)時(shí)控制要求中斷響應(yīng)速度要快并且計(jì)算量大,一般需要單獨(dú)的CPU來處理,或者采用硬件插卡的方式實(shí)現(xiàn)。以O(shè)SACA的應(yīng)用系統(tǒng)為例,采用了如圖2所示的雙PC結(jié)構(gòu):

1

圖2 雙PC結(jié)構(gòu)

  圖2中,HMC(人機(jī)控制)是非實(shí)時(shí)任務(wù);AC-X、AC-Y、AC-Z(軸控制)和MC(運(yùn)動(dòng)控制)是實(shí)時(shí)任務(wù)。軸控制和運(yùn)動(dòng)控制包括插補(bǔ)運(yùn)算和位置控制,所以放在單獨(dú)一臺(tái)PC上實(shí)現(xiàn)。兩臺(tái)PC之間即實(shí)時(shí)和非實(shí)時(shí)之間采有TCP/IP協(xié)議進(jìn)行通訊。
  實(shí)際上,插補(bǔ)運(yùn)算包括插補(bǔ)準(zhǔn)備和插補(bǔ)計(jì)算兩部分。插補(bǔ)運(yùn)算作為實(shí)時(shí)任務(wù)主要是受限于過去CPU的處理速度和內(nèi)存容量,隨著高速度、高性能CPU和大容量內(nèi)存的出現(xiàn),完全可以解決插補(bǔ)運(yùn)算的速度要求和數(shù)據(jù)量的問題??梢灶A(yù)先計(jì)算出軌跡坐標(biāo)的XYZ值,并存儲(chǔ)在數(shù)據(jù)表中,再逐段送至位置控制。目前的數(shù)字伺服控制器已能將位置控制算法包含在內(nèi),可以不再開發(fā)位置控制的應(yīng)用程序模塊。因此,數(shù)控應(yīng)用軟件的開發(fā)可以都劃分為非實(shí)時(shí)任務(wù)。
  另外,當(dāng)前存在的開放式控制系統(tǒng)平臺(tái)如OSACA、NGC和OSEC內(nèi)部之間是開放的。如支持OSACA體系結(jié)構(gòu)的平臺(tái)上開發(fā)的控制應(yīng)用程序?qū)τ贠SACA的平臺(tái)是開放的。但各個(gè)開放式控制系統(tǒng)平臺(tái)之間還不能實(shí)現(xiàn)開放,因?yàn)樗鼈兊捏w系結(jié)構(gòu)不相同,所支持的協(xié)議和采用的數(shù)據(jù)結(jié)構(gòu)相互之間都沒有公開。因此,它們之間的通訊需要設(shè)計(jì)網(wǎng)關(guān)來實(shí)現(xiàn)數(shù)據(jù)的轉(zhuǎn)化。見圖3。

 

1

圖3 開放式控制系統(tǒng)間的通訊

  Java作為一種開放的體系結(jié)構(gòu),不僅僅因?yàn)槠浔皇澜缢J(rèn),更重要的是它具有先進(jìn)的平臺(tái)設(shè)計(jì)手段,成為真正的開放平臺(tái)。目前開放式控制系統(tǒng)平臺(tái)所面臨的問題可以利用Java平臺(tái)來解決,如圖4所示。利用Java平臺(tái)提供的功能實(shí)現(xiàn)硬件和操作系統(tǒng)的無關(guān)性,實(shí)現(xiàn)真正的開放控制平臺(tái)。數(shù)控軟件的開發(fā)全部轉(zhuǎn)化為非實(shí)時(shí)控制,應(yīng)用程序通過訪問JavaAPI來獲取平臺(tái)的支持,利用Java語言的可移植性,按模塊化開發(fā)的應(yīng)用程序具有優(yōu)良的可移植性,可運(yùn)行于支持Java的平臺(tái)之上。目前許多伺服控制器廠商已推出基于Java平臺(tái)的產(chǎn)品,具備Java的界面,這樣,建立于Java平臺(tái)上的應(yīng)用程序可直接訪問速度伺服的數(shù)據(jù),從而可以解決實(shí)時(shí)控制和如何統(tǒng)一平臺(tái)的問題。

1

圖4 Java平臺(tái)的應(yīng)用

5 結(jié)論和展望

  本文提出了一種利用Java真正開放式平臺(tái)的方案。Java的開發(fā)者也正在把實(shí)時(shí)功能加入到Java平臺(tái)中去,以適應(yīng)工業(yè)控制的要求。隨著網(wǎng)絡(luò)化時(shí)代的到來,基于Java的平臺(tái)不但能稱為開放式控制平臺(tái),而且還能利用其強(qiáng)大的網(wǎng)絡(luò)功能實(shí)現(xiàn)異地制造,將極大地促進(jìn)敏捷制造的發(fā)展。

(轉(zhuǎn)載)

標(biāo)簽:Java 開放式控制系統(tǒng)平臺(tái) 我要反饋 
泰科電子ECK、ECP系列高壓直流接觸器白皮書下載
億萬克
專題報(bào)道