改編自:《新一代智能化數(shù)控系統(tǒng)》(作者:陳吉紅,楊建中,周會成)
「1.開放式數(shù)控系統(tǒng)的定義及屬性」
1)開放式數(shù)控系統(tǒng)定義
目前,開放式數(shù)控系統(tǒng)還沒有公認的統(tǒng)一定義。IEEE對其定義為“開放式數(shù)控系統(tǒng)應提供這樣的能力:來自不同廠商的,在不同操作平臺上運行的應用程序都能夠在系統(tǒng)上實現(xiàn),并且該系統(tǒng)能夠和其他應用系統(tǒng)協(xié)調工作?!北疚淖髡吒鶕?jù)自身的研究工作,并結合本書內容,對開放式數(shù)控系統(tǒng)給出如下定義:開放式數(shù)控系統(tǒng)本質一個具備軟件平臺化、功能模塊化、界面組態(tài)化內部屬性和可移植性、可伸縮性、互操作性外部特征,支持用戶根據(jù)需求進行數(shù)控系統(tǒng)二次開發(fā),并提供用戶應用軟件的運行、管理平臺。因此,開放式數(shù)控系統(tǒng)的核心是支持用戶根據(jù)需求進行二次開發(fā),增加定制化功能,提升機床的性能。
2)開放式數(shù)控系統(tǒng)的內部屬性
要實現(xiàn)數(shù)控系統(tǒng)的開放,使其具備良好通用性、互換性,并且使用戶無需深入到底層硬件集成、操作系統(tǒng)調度等專業(yè)性要求很強的開發(fā)任務中,數(shù)控系統(tǒng)需具備軟件層次化、功能模塊化、界面組態(tài)化的內部屬性。這些內部屬性是數(shù)控系統(tǒng)廠商為實現(xiàn)數(shù)控系統(tǒng)的開放而對數(shù)控系統(tǒng)體系內部架構的設計。
(1)軟件層次化
數(shù)控系統(tǒng)軟件不僅包含解釋、插補及運動控制等功能的實現(xiàn),還需具備設備驅動、實時內核及進程調度等基礎功能。但是,用戶進行數(shù)控系統(tǒng)二次開發(fā)目的是改進現(xiàn)有功能或增加新功能,其工作并不需要涉及硬件讀寫、內核管理等基礎功能。因此,需要對軟件進行層次化劃分,使用戶進行二次開發(fā)時只需要關注其所需功能的接口層,不需要了解基礎功能的實現(xiàn)和系統(tǒng)調度等任務,在降低用戶開發(fā)難度的同時,在一定程度上保障系統(tǒng)的可靠和穩(wěn)定。
為了實現(xiàn)系統(tǒng)軟件的分層,首先需要把軟件從硬件中分離出來,降低硬件的可靠性受用戶加入功能的影響的可能,于是需要建立驅動層。其次,數(shù)控系統(tǒng)軟件隨著功能增多,變得越來越復雜,為了不讓用戶陷入到底層軟件的開發(fā)當中,將軟件層次進一步劃分出內核層和應用層,用戶只需要通過應用層的接口進行二次開發(fā),不需要直接在內核的層面進行開發(fā)。
綜上所述,可以將數(shù)控系統(tǒng)軟件平臺從技術層面分為3個層次:驅動層、內核層、應用層,如圖1所示。

圖1 開放式數(shù)控系統(tǒng)軟件平臺架構
a.驅動層:驅動層一般由硬件抽象層(HAL)、板級支持包(BSP)和驅動程序組成,是數(shù)控系統(tǒng)軟件中不可或缺的重要部分,它的作用是為上層程序提供外部設備的操作接口,并且實現(xiàn)設備的驅動程序。上層程序在進行硬件操作時,不需要了解設備的具體細節(jié),只需要調用驅動的接口即可。
b.內核層:內核層即嵌入NC內核的操作系統(tǒng)層,包含實時內核、進程調度、NC內核功能模塊、文件系統(tǒng)、圖形用戶接口和網(wǎng)絡系統(tǒng)等。在嵌入式系統(tǒng)中工作的操作系統(tǒng)稱為EOS(Embedded Operating System,嵌入式操作系統(tǒng)),EOS在數(shù)控系統(tǒng)中主要作用是處理由內部或者外部事件引發(fā)的中斷、設備驅動層的激活以及執(zhí)行任務的調度,它并不執(zhí)行具體的應用功能,如運動控制、界面顯示等具體功能是由應用層的應用軟件實現(xiàn)的。
c.應用層:應用層軟件主要指多個相對獨立的應用任務,每個應用任務完成特定的工作,如I/O任務、計算任務、通信任務、人機界面等,由操作系統(tǒng)調度各個任務的進行。它由基于操作系統(tǒng)的應用程序組成,用來完成對被控制對象的控制功能。應用層是面向被控制對象和用戶的,為了方便用戶的操作,往往需要友好的人機界面。應用程序運行在操作系統(tǒng)之上,通過對操作系統(tǒng)的接口函數(shù)的調用,實現(xiàn)系統(tǒng)如采集診斷、運動控制等具體的應用功能。各種任務以應用程序的形式集合在應用層,服務于不同的功能模塊。在操作系統(tǒng)的支持下,每個任務都被分配到一個優(yōu)先級,根據(jù)優(yōu)先級別的高低,動態(tài)切換任務,以保證實時性的要求。此外,操作系統(tǒng)根據(jù)每個任務的要求,進行資源管理,合理分配資源,實現(xiàn)消息管理、任務調度和異常處理等任務。
數(shù)控系統(tǒng)是一個專用性很強的多任務調度運行系統(tǒng),按照任務運行實時性強弱的劃分方法,一般將數(shù)控系統(tǒng)的任務劃分為管理任務和控制任務兩大類。如圖2所示,其中控制類任務的工作與數(shù)控加工直接相連,對實時性要求高,而管理類任務的工作對實時性的要求相對較低。系統(tǒng)的控制任務又可細分為位置控制、軌跡插補、指令譯碼、I/O控制、誤差控制、狀態(tài)實時監(jiān)控與故障診斷等子任務;系統(tǒng)的管理任務則包括人機交互管理、顯示管理、數(shù)據(jù)管理、通信管理和網(wǎng)絡管理等子任務。而且,在實際的開發(fā)設計中可根據(jù)需要對各個子任務進行進一步細分,形成一個任務集合,任務集合中的任務都必須根據(jù)外部事件及時被激活運行,同時結合具體的加工情況,由操作系統(tǒng)統(tǒng)一調度,動態(tài)地對任務進行優(yōu)先級控制,以適應不同加工任務的要求。當有高優(yōu)先級的任務進入任務列表時,內核通過優(yōu)先級搶占調度方式切換到高優(yōu)先級的任務;當同等優(yōu)先級的多個任務進入任務列表時,內核通過時間片輪轉調度法實現(xiàn)多任務的并發(fā)控制。操作系統(tǒng)具體的多任務調度機制以在上一小節(jié)給出詳細解釋。

圖2 數(shù)控系統(tǒng)應用層任務劃分
通過系統(tǒng)軟件的分層可以實現(xiàn)“高內聚”和“低耦合”,每層間功能上獨立,減少依賴關系,擴展性、可維護性增強。另外每層之間實現(xiàn)指定功能,與其他層之間通過指定接口建立聯(lián)系,可移植性大大提升。
(2)功能模塊化
對數(shù)控系統(tǒng)的功能進行模塊化開發(fā),使其基礎軟件模塊具有可重用性,提高系統(tǒng)的可維護性、可擴充性是開放式數(shù)控系統(tǒng)實現(xiàn)開放的必要條件。數(shù)控系統(tǒng)功能模塊化也稱軟件芯片化,是指采用面向對象的技術,對數(shù)控系統(tǒng)的功能劃分,把一些通用模塊做成獨立的可重用的對象類,建立類似于硬件芯片的數(shù)控系統(tǒng)軟件芯片庫。當開發(fā)新的數(shù)控系統(tǒng)時,只需從軟件芯片庫中取出相應的模塊加以組合即可,必要時加以擴充,而無需從頭開發(fā)整個系統(tǒng), 這樣便改變數(shù)控系統(tǒng)的封閉式設計,提高了整個系統(tǒng)的靈活性,實現(xiàn)了數(shù)控系統(tǒng)開放性設計、資源得到重用。利用軟件芯片構建數(shù)控系統(tǒng)的過程如圖3所示。

圖3 基于軟件芯片庫的數(shù)控系統(tǒng)的構建過程
a.軟件芯片的特點:內部黑箱封裝;接口標準規(guī)范化;多態(tài)性及繼承性。
b.功能模塊的劃分:人機交互界面模塊;編碼譯碼模塊;刀補預處理模塊;軌跡插補模塊;軸伺服控制模塊;I/O模塊。上述幾個基本模塊具有互操作性、可移植性和可擴展性,且是構成CNC系統(tǒng)最小的配置模塊,可作為數(shù)控功能的基本劃分,作為最基本的CNC軟件芯片,此外還有刀具管理、數(shù)據(jù)庫管理等芯片,軟件芯片的功能與數(shù)量的定義是動態(tài)的,隨著應用需求的變化和CNC技術的發(fā)展,可能需要增加新的軟件芯片。軟件芯片之間協(xié)作關系如圖4所示。

圖4 開放式數(shù)控系統(tǒng)軟件芯片對象協(xié)作關系
(3)界面組態(tài)化
人機界面是人與數(shù)控系統(tǒng)之間傳遞、交換信息的媒介,是數(shù)控系統(tǒng)的重要組成部分,人機界面的二次開發(fā)是大部分用戶完成可視化內容的個性化定制及開發(fā)的重要手段。目前,數(shù)控系統(tǒng)的通用人機界面已經(jīng)具備了比較通用、完備的功能,能夠實現(xiàn)監(jiān)控、診斷、編程、設置等操作。但是,這種標準化的人機界面不能滿足用戶對特定加工工藝的個性化定制需求,另外,用戶提出新功能,數(shù)控系統(tǒng)廠家開發(fā)需要一定的開發(fā)周期往往不能及時響應市場需求。因此,需要開發(fā)一種數(shù)控系統(tǒng)人機界面二次開發(fā)平臺,不僅滿足用戶對數(shù)控系統(tǒng)的專業(yè)化、個性化需求,而且滿足開放式數(shù)控系統(tǒng)的便于擴展、對用戶開放等需求。
對于這種需求,人們提出了組態(tài)的概念,組態(tài)的核心思想就是以圖形可視化方式將人機界面以功能組件的形式,通過特定的方式配置組織起來,實現(xiàn)人機界面靈活地、可擴展地開發(fā)。組態(tài)技術可以以圖形可視化的方式,通過功能組件的組合配置,以組態(tài)的形式快速靈活地構建具有高可擴展性的人機界面。總的來說人機界面的組態(tài)技術主要有兩個特點:
一是圖形化的界面構建能力:組態(tài)化界面開發(fā)是以圖形可視化的方式添加和配置界面圖元來構建完成的。組態(tài)要求部署后的組態(tài)界面應該和開發(fā)過程中的組態(tài)界面保持“靜態(tài)的一致性”,以實現(xiàn)所見即所得的界面開發(fā)理念。
二是組件式的功能配置:組態(tài)人機界面應該由獨立的功能單元組合而成,這些功能單元組件可以是圖元、設備或者功能模塊等,通過“配置”的形式將這些功能單元的組合即可完成人機界面構建,同時這些功能單元之間的組合形式應該是低耦合,可擴展的。一般來說,組成數(shù)控人機界面的主要元素有圖形、控件、變量、設備、數(shù)據(jù)庫、邏輯命令,為了實現(xiàn)數(shù)控人界面組態(tài)過程中的靈活性,降低各個組件和元素之間的耦合性及HMI 結構的復雜性,對數(shù)控人機界面進行模塊化劃分。以功能性為劃分依據(jù),采用軟件設計中常用的 MVC 系統(tǒng)框架(model-view-control 框架),將組成計算機軟件的數(shù)據(jù)、圖形以及邏輯控制部分抽象剝離出來,以到達降低系統(tǒng)耦合性和提升擴展性的目的。最終,將人機界面的基本元素劃分為數(shù)據(jù),圖形和交互控制三個模塊。其中數(shù)據(jù)模塊對應于人機界面的各種數(shù)據(jù)源,為視圖的顯示提供數(shù)據(jù), 主要包括機床運行與加工過程中的各種數(shù)據(jù)。圖形就是數(shù)控 HMI 在屏幕上的表示形式,主要包括構成人機界面的基本圖形即常用組件等;交互控制則主要負責人機界面運行過程中的邏輯控制及用戶交互。
組件化是對組成人機界面功能單元進行相應的處理,將相同或相似的功能單元進行提煉與抽象,轉化為具有標準接口、可復用的功能組件的過程。如圖5所示,組件化的步驟主要包括單元識別、單元聚類以及單元集概括抽象和組件封裝?;締卧R別即將組成系統(tǒng)的基本單元,依據(jù)功能、邏輯和結構方面的差異,通過相應的識別方法,按照一定劃分粒度,將具有獨立功能且與其他基本單元低耦合的功能單元提取出來。在功能單元的識別過程中,劃分粒度對最終人機界面的靈活性和擴展性起著決定性作用。粒度過大將導致單元組件可配置性差,組態(tài)界面的整體靈活性不高;而粒度過小,則會導致界面系統(tǒng)過于復雜,可維護性性不夠。因此劃分粒度應根據(jù)功能單元的特點及經(jīng)驗進行選擇。

圖5人機界面組件化基本過程
基本功能單元識別完成后,將一些在功能、結構上或邏輯上具有一定相似性的單元進行分類,構成能夠實現(xiàn)特定功能的單元集,提升單元集內元素的聯(lián)系性,降低單元集之間元素的相似性和耦合性,這個過程便稱為單元聚類。單元聚類后,利用面向對象軟件開發(fā)中類的思想,對這些單元集進行概括和總結,抽象成為單元“類”,并提煉出單元類的根本屬性,并將其參數(shù)化,添加用于組件組合的外部接口,最后封裝成具有特定功能,可復用且具有標準可配置參數(shù)與組合接口的單元組件。
「2. 開放式數(shù)控系統(tǒng)的特征」
以上兩部分對封閉式和開放式數(shù)控系統(tǒng)的內部屬性進行了分析,從用戶的角度來講,封閉式和開放式數(shù)控系統(tǒng)在特征上也有所區(qū)別。表2給出了封閉式和開放式數(shù)控系統(tǒng)的具體特征的詳細對比。
表2 封閉式和開放式數(shù)控系統(tǒng)的外部特征

通過以上對比分析,我們可以知道傳統(tǒng)封閉式數(shù)控系統(tǒng)具有可靠性高、成本較低的優(yōu)點,對于典型量大面廣的場合還是以傳統(tǒng)數(shù)控系統(tǒng)的應用為主。但是,隨著科技的進步和其它相關支撐技術的發(fā)展,開放式數(shù)控系統(tǒng)取得了長足發(fā)展,傳統(tǒng)封閉式數(shù)控系統(tǒng)的這些優(yōu)勢已經(jīng)不再明顯。開放式數(shù)控系統(tǒng)允許用戶根據(jù)自己的實際需求進行選配、集成、更改或者擴展系統(tǒng)的功能以快速適應不同的應用場合。
一般來說,開放式數(shù)控系統(tǒng)應具有以下基本特征:
(1)開放性:提供標準化環(huán)境的基礎平臺,允許不同功能和不同開發(fā)商的軟、硬件模塊介入。
(2)可移植性:不同的應用程序可運行于不同生產(chǎn)商提供的系統(tǒng)平臺,同樣的,系統(tǒng)軟件也可以運行于不同特性的硬件平臺。通過標準的設備接口,各功能模塊能夠正常運行在不同的硬件平臺上。
(3)可伸縮性:增添或減少系統(tǒng)的功能僅表現(xiàn)為特定功能模塊的裝載或卸載。允許用戶結合實際需要進行二次開發(fā),甚至允許用戶將自行設計的標準功能模塊集成到數(shù)控系統(tǒng)內部,從而實現(xiàn)深層的二次開發(fā)。
(4)互換性:不同性能、不同可靠性和不同能力的功能模塊可以相互替代,而不影響系統(tǒng)的協(xié)調運行。
(5)相互操作性:提供標準化的接口、通信和交互模型。不同的應用程序模塊通過標準化的應用程序接口運行于系統(tǒng)平臺之上,不同的模塊之間保持平等的相互操作能力,協(xié)調工作。標準化的接口既包含硬件接口,如RS232、USB、VGA、以太網(wǎng)等接口;也包含軟件接口,即通信協(xié)議,如數(shù)控系統(tǒng)與伺服的總線協(xié)議NCUC、EtherCAT、Profinet IRT、Sercos III等,以及不同類型數(shù)控系統(tǒng)之間通信語言,如NC-Link協(xié)議。
-
數(shù)控系統(tǒng)
+關注
關注
5文章
263瀏覽量
24726 -
屬性
+關注
關注
0文章
23瀏覽量
8679 -
應用軟件
+關注
關注
0文章
52瀏覽量
9225
發(fā)布評論請先 登錄
開放式數(shù)控系統(tǒng)硬件平臺設計
基于PC的開放式數(shù)控系統(tǒng)的研究與開發(fā)
開放式數(shù)控系統(tǒng)硬件平臺設計
CAN總線在開放式數(shù)控系統(tǒng)的應用
基于PC的開放式數(shù)控系統(tǒng)體系的應用分析
CAN總線在開放式數(shù)控系統(tǒng)的應用
PC+TurboPMAC實現(xiàn)開放式數(shù)控系統(tǒng)
基于Windows95環(huán)境下的PC開放式數(shù)控系統(tǒng)

基于WINDOWS CE的開放式數(shù)控系統(tǒng)設備驅動程序開發(fā)
開放式數(shù)控系統(tǒng)宏指令的應用手冊免費下載

基于MPC08運動控制器實現(xiàn)開放式數(shù)控系統(tǒng)的設計方案

基于STR-6無線數(shù)據(jù)傳輸模塊實現(xiàn)開放式數(shù)控系統(tǒng)的設計

評論