一種新型開放式數(shù)控原型系統(tǒng)的開發(fā)

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

 種在基于WindowsNT+RTX的通用PC上運行實時性弱的任務,在分布的伺服驅動器中運行實時性強的運動控制任務的開放式數(shù)控原型系統(tǒng)。在這種系統(tǒng)中,運動控制由嵌入到伺服驅動器中的智能節(jié)點完成,通用PC和伺服驅動器之間用現(xiàn)場總線進行通訊,系統(tǒng)軟件采用模塊化方法設計。同時進行了系統(tǒng)實時性能測試和實例運行結果分析。



1 引言


    數(shù)控系統(tǒng)是一個對實時性、安全性、可靠性要求很高的系統(tǒng)。目前,基于PC的數(shù)控系統(tǒng)開放性又成為一個研究熱點。該數(shù)控系統(tǒng)現(xiàn)在主要是在PC平臺上擴展各種總線的運動控制卡,通過運動控制卡實現(xiàn)數(shù)控系統(tǒng)的實時控制功能,而非實時性任務在通用Windows操作系統(tǒng)平臺下運行。這種方法在實際中已經(jīng)獲得了廣泛的應用,但其實時控制部分可配置性較差,運動控制卡對于一般的應用系統(tǒng)往往大部分功能冗余,對于復雜或高精度的應用場合又經(jīng)常不能滿足控制要求。伴隨著現(xiàn)場總線技術的發(fā)展和WindowsNT和RTX的應用,更多的方案可用于開發(fā)性能更好的CNC系統(tǒng)。為此,本文開發(fā)了用Windows NT+RTX來取代通用的Windows操作系統(tǒng),用分布在各個伺服驅動器中的智能控制節(jié)點來取代PC平臺上擴展的運動控制卡,通用PC和智能節(jié)點之間用現(xiàn)場總線進行通訊的開放式數(shù)控原型系統(tǒng),并通過一個運行實例來測試了這個系統(tǒng)。

圖1 帶負載的線程切換延時測試結果


圖1 帶負載的線程切換延時測試結果


圖2 帶負載的定時反應延時測試結果


圖2 帶負載的定時反應延時測試結果


2 原型系統(tǒng)實時性能分析


2.1 WindowsNT和RTX的特性


    WindowsNT是最流行的操作系統(tǒng)之一。它有良好的圖形用戶界面,并有廣泛的軟硬件支持。RTX進一步擴展了NT系統(tǒng)的實時功能,因此,NT的大量資源和RTX的實時功能在研究中得以應用。而且,廣泛使用的調試工具,如VC++等,使強大的實時系統(tǒng)得以實現(xiàn)。

    RTX增加了一個實時子系統(tǒng)RTSS,用于增加WindowsNT、Windows 2000 and Windows XP的實時性。RTSS在概念上類似于別的Windows子系統(tǒng)(如Win32和DOS),它支持自己的執(zhí)行環(huán)境和APl。代替使用Windows調度器,RTSS運行自己的線程調度。所有的RTSS線程調度發(fā)生在所有的Windows調度之前,包括Windows管理的中斷和延時程序調用(DPC)。

    RTSS也支持進程間通訊對象,通過RTSS或Win32進程操作;這使實時和非實時程序之間可進行簡單或標準的通訊和同步。RTSS也提供了時鐘、定時器和RTSS進程中斷管理。RTX包括了一個實時嵌入的硬件抽象層(HAL)擴展,該擴展使RTSS和Windows的中斷相互獨立。Windows和它們的驅動不能屏蔽RTSS中斷,而RTSS運行時,所有的Windows中斷都屏蔽了。


2.2 原型系統(tǒng)的實時性能分析

    

    Venturcom的平臺仿真器是實時應用的硬件測試工具,它幫助開發(fā)者、系統(tǒng)集成商和銷售商評估他們的實時控制平臺,選擇最好的硬件、軟件和滿足他們特殊需要的操作系統(tǒng)配置。平臺仿真器收集了系統(tǒng)配置信息,測量了線程切換延時、定時中斷響應延時和用戶在不同的測試環(huán)境下Win32API調用的時間。

    在CNC原型系統(tǒng)的開發(fā)中,一個通用PC(PIlll066)運行Windows NT+RTX操作系統(tǒng),實時性能測試結果如下。帶負載的線程切換延時測試結果如圖1所示,對于Win32,最大值是381.6μs,平均值是1.7μs,最小值是0.8ps;對于RTSS,最大值是5.7μs,平均值是1.3μs,最小值是0.1μs。帶負載的定時反應延時測試結果如圖2所示,對于Win32,最大值是223.9μs,平均值是13.1μs,最小值是9.2μs;對于RTSS,最大值是15.9μs,平均值是5.0μS,最小值是3.3μs。由測試結果可知,RTX系統(tǒng)控制在線程切換、定時反應延時是很有效的,比NT更適合于實時環(huán)境。


3 開放式CNC系統(tǒng)架構


3.1 硬件架構


    在本文提出的數(shù)控系統(tǒng)中,通用PC作為系統(tǒng)的硬件平臺,原來插入工控機的運動控制卡被幾個嵌入到伺服驅動器中的智能控制節(jié)點所代替,每個節(jié)點控制一個軸。采用WindowsNT+RTX操作系統(tǒng)、工控機和伺服控制器通過CANBUS總線進行通信,能雙向傳遞大量數(shù)據(jù),且其通信協(xié)議是公開的和標準化的,這樣,修改、配置和替換一些組件就變得很容易。采用不可屏蔽中斷來同步智能控制節(jié)點。而且,充足的信息大大地有益于監(jiān)控和診斷;赪indowsNT+RTX和CANBUS總線的控制系統(tǒng)的系統(tǒng)架構如圖3所示。


3.2 軟件架構


    在此CNC軟件架構中,圖形用戶界面采用COM技術開發(fā),實時部分采用Venturcom公司的SDK開發(fā)。

    

圖3 基于WindowsNT+RTX和現(xiàn)場總線的開放式數(shù)控系統(tǒng)架構


圖3 基于WindowsNT+RTX和現(xiàn)場總線的開放式數(shù)控系統(tǒng)架構



圖4  基于COM組件的開放式數(shù)控系統(tǒng)軟件的結構


圖4  基于COM組件的開放式數(shù)控系統(tǒng)軟件的結構



    COM組件不是一種編程語言,它是一種能使組件作為對象進行相互作用的二進制協(xié)議,COM充分體現(xiàn)了組件編程的概念,同結構化編程及面向對象的編程方法一樣,COM也是一種組織程序的方法,與語言無關,可以選擇C、C++、JAVA等語言來開發(fā)。組件技術主要有以下幾個優(yōu)點:(1)組件技術可實現(xiàn)應用程序的快速開發(fā)。從組件庫中取出所需的組件并將其快速地組裝到一塊即可構造所需的應用程序。應用程序的大部分可利用已有的組件構建,減少了開發(fā)的工作量,可以縮短開發(fā)周期,降低開發(fā)成本。購買組件的費用與傳統(tǒng)的軟件開發(fā)成本相比,是微不足道的。(2)組件技術易于實現(xiàn)應用程序定制,滿足不同用戶的不同需求。一般情況下,根據(jù)需求替換、修改程序使用的一個或多個組件,就可以實現(xiàn)定制。(3)基于組件的應用程序的升級和維護,更方便靈活;诮M件的應用程序的修改,通常是通過修改組件來實現(xiàn)的。當對應用程序進行升級或維護時,只需將一些組件用其新版本替換即可,不再需要對整個應用程序進行全方位的修改。(4)使用組件技術,可簡化應用程序向分布式應用程序的轉化過程。用COM技術開發(fā)的CNC軟件系統(tǒng)如圖4所示。軟件由3個部分組成,即用戶接口層、數(shù)據(jù)管理層和數(shù)據(jù)源層,每個層由幾個組件組成。

    用戶界面層主要有5個組件程序和一個主程序,即配置組件、維護組件、仿真組件、現(xiàn)場設備


圖5 原型系統(tǒng)實驗平臺


圖5 原型系統(tǒng)實驗平臺



圖6 原型系統(tǒng)的圓形運行輪廓


圖6 原型系統(tǒng)的圓形運行輪廓


    管理組件、監(jiān)控組件和用戶界面主控程序(為一個標準的MFC可執(zhí)行程序)。通過這些組件程序,不僅給運行人員直觀形象的圖形界面,而且使系統(tǒng)的運行和維護簡單方便,防止了運行人員的操作失誤引起的事故,提高了系統(tǒng)運行的安全性。數(shù)據(jù)管理層主要包括數(shù)據(jù)服務組件、實時數(shù)據(jù)服務組件、數(shù)據(jù)庫服務組件以及網(wǎng)絡服務接口組件等。通過這些組件,實現(xiàn)數(shù)據(jù)信息在數(shù)據(jù)源層和用戶界面層之間雙向傳輸。其中,網(wǎng)絡服務接口組件提供本系統(tǒng)與局域網(wǎng)或廣域網(wǎng)之間的連接功能,用戶可用它實現(xiàn)對數(shù)控系統(tǒng)的遠程監(jiān)控功能。數(shù)據(jù)源層主要由實時控制程序組成,這些強實時性任務必須在間進行的實時任務以RTDLL的形式動態(tài)加載到RTX環(huán)境下,使之成為受RTX管理和調度的具有不同優(yōu)先級的實時線程,且由RTX提供的高精度定時器定時觸發(fā)。


4 原型系統(tǒng)運行實例


    實驗硬件:通用PC(CPU PⅢ1066,SDRAM256M),PCL-841卡(兩個獨立的CANBUS通訊卡,由臺灣ADVANTECH制造),兩個伺服控制卡(自己設計,帶有TM320C6701和SJA-1000),TKS-591S仿真器,兩個伺服驅動MSDA013A1A(Panasonic產(chǎn)品),兩個自帶旋轉編碼器的AC SERVO MOTOR MSMA012A1C(Panasonic產(chǎn)品)。整個實驗平臺如圖5所示。

    實驗軟件:原型系統(tǒng)軟件由運行在智能節(jié)點中部分軟件和運行在通用PC中的部分軟件組成。節(jié)點部分完成實時控制任務,通用PC部分完成人機界面及與智能節(jié)點實時通訊任務。原型系統(tǒng)的運行主界面由6個COM組件組成。最重要的是加工控制組件,而且,該組件又由8個較小的組件組成。在系統(tǒng)正常運行之前,應先完成通訊測試和參數(shù)設定。

    實驗內容和結果:實驗內容是控制2個MSMA012A1C電機沿著一個標準圓形的輪廓運動,一個電機沿著X軸運動,另一個電機沿著Y軸運動。電機的運行數(shù)據(jù)由CANBUS總線傳遞到通用PC中,然后顯示在人機界面上。圓形輪廓運行界面如圖6所示,藍色實心的圓是標準圓,紅色的圓是控制輪廓。由圖6可知,2個智能卡能完成一個運動控制卡的功能,CANBUS總線能滿足傳遞離線插補數(shù)據(jù)的要求,外部不可屏蔽中斷能確保幾個控制卡的同步運行。


5 結論


    本文提出了一種新型基于WindowsNT+RTX的開放式CNC系統(tǒng)。實驗證明,WindowsNT+RTX能夠滿足實時控制要求,F(xiàn)場總線能用來雙向傳遞數(shù)據(jù),從通用PC到伺服控制器的控制數(shù)據(jù)或者從伺服驅動到通用PC的狀態(tài)信息,這使遠程監(jiān)控和診斷成為可能;贑OM的組態(tài)方法和智能節(jié)點能用來提高CNC系統(tǒng)的開放性,來自不同制造商的軟件和硬件產(chǎn)品能夠實現(xiàn)即插即用。外部不可屏蔽中斷能夠用來同步不同的智能節(jié)點,控制插補周期。這樣,差插周期能達到理論要求的最小值,這是CNC系統(tǒng)實現(xiàn)高速加工的必要條件。因此,這種基于Windows NT+RTX的開放式CNC系統(tǒng)能夠滿足開放性和實時性能。






更多相關信息