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

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

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



1 引言

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


2 開(kāi)放式數(shù)控系統(tǒng)的定義及特點(diǎn)

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


    開(kāi)放式數(shù)控系統(tǒng)應(yīng)具有以下5個(gè)基本特點(diǎn):

    (1)由一系列邏輯上獨(dú)立的構(gòu)成要素組成;

    (2)提供系統(tǒng)各個(gè)構(gòu)成要素與系統(tǒng)之間接口的完善規(guī)范和標(biāo)準(zhǔn),來(lái)自不同廠商的符合規(guī)范的構(gòu)成要素能夠構(gòu)成一個(gè)完整的數(shù)控系統(tǒng);

    (3)能夠動(dòng)態(tài)改變系統(tǒng)的拓?fù)浣Y(jié)構(gòu);

    (4)能夠?qū)崿F(xiàn)與其它自動(dòng)化系統(tǒng)與軟件模塊的互操作;

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

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

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


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

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


3.1 WindowsCE.net簡(jiǎn)介

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


圖1  Window CE體系結(jié)構(gòu)


圖1  Window CE體系結(jié)構(gòu)


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


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



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



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


3.2 Windows CE.net的特點(diǎn)

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

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

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


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


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

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


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

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


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


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

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


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


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


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

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

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

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


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


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


圖3  基于Windows CE.net開(kāi)放式數(shù)控系統(tǒng)軟件結(jié)構(gòu)圖


圖3  基于Windows CE.net開(kāi)放式數(shù)控系統(tǒng)軟件結(jié)構(gòu)圖



    圖3所示為基于Windows CE.net的開(kāi)放式數(shù)控系統(tǒng)軟件結(jié)構(gòu)圖。

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



5 結(jié)論

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

更多相關(guān)信息