基于WindowsCE.net的開放式數(shù)控系統(tǒng)研究

發(fā)布日期:2011-11-25    蘭生客服中心    瀏覽:1806

介紹了開放式數(shù)控系統(tǒng)的產(chǎn)生背景、特點及軟硬件平臺現(xiàn)狀,研制基于Windows CE.net平臺的開放式數(shù)控系統(tǒng),介紹了基于Windows CE.net的開放式數(shù)控系統(tǒng)的實現(xiàn)方案。



1 引言

    自從1952年第一臺數(shù)控機床在麻省理工學院研制成功以來,隨著計算機技術的飛速發(fā)展,數(shù)控系統(tǒng)的功能得到極大的擴展。隨著技術、市場、生產(chǎn)結構等方面的快速變化,用戶對數(shù)控系統(tǒng)提出了更高的要求: 希望能夠根據(jù)不同的加工要求,迅速、高效、經(jīng)濟地構筑面向客戶的控制系統(tǒng);逐漸降低生產(chǎn)廠家對控制系統(tǒng)的高依賴性;大幅度降低維護和培訓費用;改變過去數(shù)控系統(tǒng)的封閉性設計模式;適應未來車間面向任務和訂單的生產(chǎn)模式,使底層生產(chǎn)控制系統(tǒng)更簡便有效。在這種背景下,開放式數(shù)控系統(tǒng)應運而生。其主要目的是解決當今變化繁雜的需求與過去控制系統(tǒng)專一固定之間的矛盾,使數(shù)控系統(tǒng)易變、緊湊、廉價。


2 開放式數(shù)控系統(tǒng)的定義及特點

    按照IEEE對于開放式系統(tǒng)的定義,一個開放式系統(tǒng)具有以下能力:經(jīng)過恰當實現(xiàn)的應用程序能夠在不同廠商的多個平臺上運行,能夠與其它系統(tǒng)的應用程序互操作,并且能夠提供一致性的人機交互界面。這個定義是針對信息技術中的開放性而言的。開放式數(shù)控系統(tǒng)作為一種開放式系統(tǒng),其核心是建立一種對數(shù)控系統(tǒng)的軟硬件開發(fā)商、機床制造商和最終用戶都開放的體系結構和標準,使數(shù)控系統(tǒng)不依賴于特定廠家,達到可互聯(lián)、可互操作、可重組和可互換的目的。根據(jù)開放式數(shù)控系統(tǒng)的要求,除它的硬件要采用基于標準總線的模塊化設計外,其軟件也應采用平臺技術、統(tǒng)一的標準規(guī)范(如標準的操作系統(tǒng)、通信機制、語言接口等)。


    開放式數(shù)控系統(tǒng)應具有以下5個基本特點:

    (1)由一系列邏輯上獨立的構成要素組成;

    (2)提供系統(tǒng)各個構成要素與系統(tǒng)之間接口的完善規(guī)范和標準,來自不同廠商的符合規(guī)范的構成要素能夠構成一個完整的數(shù)控系統(tǒng);

    (3)能夠動態(tài)改變系統(tǒng)的拓撲結構;

    (4)能夠實現(xiàn)與其它自動化系統(tǒng)與軟件模塊的互操作;

    (5)能夠提供一致性好的人機界面。

    因此,選擇通用的系統(tǒng)平臺是實現(xiàn)數(shù)控系統(tǒng)開放化的重要前提。

    工業(yè)PC以其成熟的技術和穩(wěn)定的性能已經(jīng)在控制領域得到了廣泛應用,PC機開放的體系結構也為數(shù)控系統(tǒng)提供了一個很好的開放的硬件平臺,在工業(yè)PC的基礎上進行數(shù)控系統(tǒng)的開發(fā)已經(jīng)成為大家的共識。而軟件平臺的選擇至今沒有形成一致的意見。


3 開放式數(shù)控系統(tǒng)的軟件平臺現(xiàn)狀

    開放式數(shù)控系統(tǒng)的軟件平臺在很大程度上決定了數(shù)控系統(tǒng)的工作方式、工作效率及其開放程度。數(shù)控系統(tǒng)的軟件是在軟件平臺的基礎上對不同功能模塊的集成,通過分時共享或中斷技術來實現(xiàn)數(shù)控系統(tǒng)的實時多任務控制。目前大多數(shù)基于PC的數(shù)控系統(tǒng)采用DOS作為其軟件平臺,也有少數(shù)采用Windows9x,WindowsNT,Windows 2000等。鑒于這些操作系統(tǒng)各自的弱點,無法完全滿足開放式數(shù)控系統(tǒng)的要求。本文提出采用Microsoft公司的嵌入式操作系統(tǒng)WindowsCE.net作為開放式數(shù)控系統(tǒng)的軟件平臺。


3.1 WindowsCE.net簡介

    自從1999年Microsoft公司推出嵌入式操作系統(tǒng)Windows CE3.0以來,由于在技術上取得了較大的進展,占領了一部分嵌入式操作系統(tǒng)市場。緊接著該公司于2002年4月推出了Windows CE.net,性能上有了更進一步的提高,如支持藍牙技術,支持TCP/IPv6,專用開發(fā)工具Platform Builder的改進等,引起了更大的關注,并在實時多任務控制領域得到了成功的應用。


圖1  Window CE體系結構


圖1  Window CE體系結構


表1  Windows CE.net中斷延時數(shù)據(jù)表


表1  Windows CE.net中斷延時數(shù)據(jù)表



    Windows CE.net并不是Windows 9x/NT/2000的一部分或縮減版本,而是Microsoft公司全新設計開發(fā)的一種模塊化(可組裝定制)、實時的、有強大通信能力的、搶先式多任務的32位嵌入式操作系統(tǒng)。它可以運行在多種體系結構的CPU上,內(nèi)嵌了對多種通信協(xié)議和多媒體特性的支持,如無線設備、消費類電子、工業(yè)自動化裝置等都能采用其作為控制系統(tǒng)。



    一個基于Windows CE.net的平臺主要由以下幾部分組成:分別是內(nèi)核模塊、對象存儲/文件系統(tǒng)模塊、網(wǎng)絡與通信模塊、GWES模塊(圖形、窗口、事件子系統(tǒng))。此外還有3個重要組成部分:驅動程序、設備管理器、OAL(OEM適配層,OEM Ad-aptation Layer)。圖1所示即為一個基于Windows CE的平臺的體系結構。


3.2 Windows CE.net的特點

    WindowsCE.net具有以下特點,使得它適合作為快速開發(fā)開放式數(shù)控系統(tǒng)的軟件平臺:

    (1)Windows CE.net滿足開放式數(shù)控系統(tǒng)的實時性要求。

    盡管WindowsCE.net操作系統(tǒng)以前的一些版本提供了一些RTOS(實時操作系統(tǒng))功能,但是自從Windows CE.net以來,內(nèi)核的許多重大改變極大地提高了WindowsCE的實時性能。WindowsCE.net的實時性能主要通過以下技術實現(xiàn):支持嵌套中斷,中斷處理分為中斷服務理性程序(ISR)和中斷服務線程(IST);高優(yōu)先級的中斷(IST)并不需要等待低優(yōu)先級的中斷服務例程(ISR)完成;256個線程優(yōu)先級,可以靈活調(diào)度嵌入式系統(tǒng)的任務;通過固定高優(yōu)先級中斷服務線程(1ST)的最大調(diào)度延遲改善線程響應時間;使用API函數(shù)CeSet Thread Quan tum和CeGet Thread Quan tum修改操作系統(tǒng)中線程的線程量;中斷服務子程序的響應時間非常短;支持信號量。


    Windows CE.net的設計目標可以滿足95%的硬實時系統(tǒng)的要求。它1ms定時周期的誤差約為100us,在200MHz的X86系統(tǒng)下可達到501us。如果考慮其它因素,如CPU類型、時鐘頻率、總線速度等的影響,許多實際的基于WindowsCE.net平臺的響應時間更短。因此,對于數(shù)控系統(tǒng)中任務周期為4ms的插補和位控等實時性較高的線程,Windows CE.net完全可以滿足要求。實時能力的另一個中斷指標是中斷延時。表1列出了微軟在參考平臺上測得的中斷延遲數(shù)據(jù)。


    (2)Windows CE.net滿足開放式數(shù)控系統(tǒng)的模塊化以及功能上柔性化的要求。

    WindowsCE.net的模塊化設計使得開放式數(shù)控系統(tǒng)開發(fā)者和應用系統(tǒng)開發(fā)者能夠根據(jù)產(chǎn)品的不同需求定制自己的專用操作系統(tǒng)。既可定制一個只包括內(nèi)核的,大小僅為幾百K的最小操作系統(tǒng),也可定制包括所有組件的最大操作系統(tǒng)。Windows CE.net提供了良好的開發(fā)方式,可以方便地對內(nèi)核進行增加與裁減。它完全滿足開放式數(shù)控系統(tǒng)的模塊化和功能柔性化的要求。


    (3)Windows CE.net可以兼容市場上大量的軟硬件資源,具有強大的網(wǎng)絡通信功能。

    Windows CE.net支持目前市場上的多數(shù)硬件設備,為開放式數(shù)控系統(tǒng)的硬件選配提供了極大的方便。Windows CE.net采用與Windows 9x/2000相同的編程模型,它的APl是Win32 API的子集,大約有600個APl函數(shù),可以實現(xiàn)所有的嵌入式應用。Windows CE.net還支持當前流行的軟件技術和運行庫,如MFC、ATL、COM。Win32的兼容性可以很容易地把現(xiàn)有的Windows應用程序移植到Windows CE中。目前有許多開發(fā)人員精通Windows編程技術,他們只需學習很少的知識就可以開發(fā)Windows CE.net應用程序。


    Windows CE.net具有強大的通信能力,廣泛支持各種通信硬件、局域網(wǎng)連接以及撥號連接,并提供與PC、內(nèi)部網(wǎng)以及Internet的連接,包括用于應用級數(shù)據(jù)傳輸?shù)脑O備至設備間的互連。完全能夠滿足開放式數(shù)控系統(tǒng)的聯(lián)網(wǎng),尤其是與互聯(lián)網(wǎng)聯(lián)網(wǎng),從而實現(xiàn)車間級和設備級網(wǎng)絡化制造的要求。Windows CE.net的一系列特點決定了開發(fā)基于Windows CE.net的數(shù)控系統(tǒng),既可以提高系統(tǒng)的性能、可靠性,而且容易實現(xiàn)系統(tǒng)的模塊化、開放化、網(wǎng)絡化,還能提供友好的用戶界面和窗口工作環(huán)境,同時又具有經(jīng)濟性。因此,研究基于Windows CE.net的開放式數(shù)控系統(tǒng)符合數(shù)控系統(tǒng)的發(fā)展趨勢,具有重大的現(xiàn)實意義。


4 基子Windows CE.net的開放式數(shù)控系統(tǒng)的實現(xiàn)方案

    整個系統(tǒng)由一臺基于Windows CE.net的主機(聯(lián)想IPC 800A工控機)外加一些功能模塊組成。


    Windows CE.net支持廣泛的硬件平臺和外部設備,因此可以較方便的為開放式數(shù)控系統(tǒng)組建基于Windows CE.net的硬件平臺。數(shù)控系統(tǒng)借助于各種插到總線插槽的數(shù)控模板、接口模板來完成系統(tǒng)功能。軟件上一般表現(xiàn)為定時往某一數(shù)控模塊的某一地址寫入數(shù)據(jù)或讀取數(shù)據(jù)。筆者采用的是美國Delta tau Data systems公司的PMAC(programmable Multi-Axis Controller)多軸運動控制卡。系統(tǒng)硬件組成如圖2所示。


    開放式數(shù)控系統(tǒng)的軟件開發(fā)主要包括兩部分:即數(shù)控系統(tǒng)應用程序的開發(fā)和設備驅動程序(主要是數(shù)控模塊的驅動程序)的開發(fā)。由于Windows CE.net開發(fā)工具Platform Builder4.2只提供了最基本的一些設備驅動程序,而開放式數(shù)控系統(tǒng)中的各種板卡的驅動程序必須由自己開發(fā)。所有的Windows CE.net設備驅動程序都是動態(tài)鏈接庫(DLL),可以用標準的Windows CE API實現(xiàn)。Windows CE.net提供了兩種驅動程序模型:流接口驅動程序和本地驅動程序。經(jīng)研究,認為數(shù)控系統(tǒng)硬件板卡的驅動程序符合流接口驅動程序的基本特點,可以用Platform Builder4.2開發(fā)。


    數(shù)控系統(tǒng)是一個典型的實時多任務系統(tǒng)。系統(tǒng)應用程序中有許多任務,如位置控制、插補計算、PLC任務、程序解釋、用戶界面等。各任務或強或弱都具有實時性要求。從各任務對實時性要求的角度結合Windows CE.net的多任務實現(xiàn)方法,可將其劃分為:

    (1)實時突發(fā)性任務:這類任務的特點是任務的發(fā)生具有隨機性和突發(fā)性,它們往往有很強實時性要求。它們主要包括故障中斷(急停、機械限位、硬件故障等)、機床PLC中斷等。

    (2)實時周期性任務:這類任務是精確地按一定的時間間隔發(fā)生的。主要包括加工過程中的插補運算、位置控制等任務。為了保證加工精度和加工過程的連續(xù)性,這類任務的實時性是關鍵。在任務的執(zhí)行過程中,除系統(tǒng)故障外,不允許被其它任務中斷。

    (3)弱實時性任務:這類任務的實時性要求相對較弱,它們只要保證在某一段時間內(nèi)得以運行即可。這類任務主要包括:人機界面管理、程序解釋等。


圖2  開放式數(shù)控系統(tǒng)硬件組成圖


圖2  開放式數(shù)控系統(tǒng)硬件組成圖


圖3  基于Windows CE.net開放式數(shù)控系統(tǒng)軟件結構圖


圖3  基于Windows CE.net開放式數(shù)控系統(tǒng)軟件結構圖



    圖3所示為基于Windows CE.net的開放式數(shù)控系統(tǒng)軟件結構圖。

    對于數(shù)控系統(tǒng)應用程序,主要是完成插補計算、程序解釋、用戶界面、動態(tài)顯示等功能。可以利用eMbedded Visual C++4.0來完成應用程序的開發(fā)。充分利用Windows CE.net的多線程處理能力,將應用程序的各功能模塊分為幾個主要的線程,并根據(jù)實時性的不同分配以不同的優(yōu)先級,由內(nèi)核統(tǒng)一管理,協(xié)調(diào)運行。



5 結論

    Windows CE.net內(nèi)核緊湊小巧,靈活可靠,實時性強,能夠滿足開放式數(shù)控系統(tǒng)的需求。而且其軟硬件資源豐富,網(wǎng)絡通信功能強,容易實現(xiàn)系統(tǒng)的開放性和網(wǎng)絡化。因此研究與開發(fā)基于Windows CE.net的開放式數(shù)控系統(tǒng)具有重大的現(xiàn)實意義。

更多相關信息