改編自:《新一代智能化數(shù)控系統(tǒng)》(作者:陳吉紅,楊建中,周會成)
「1.開放式數(shù)控系統(tǒng)的定義及屬性」
1)開放式數(shù)控系統(tǒng)定義
目前,開放式數(shù)控系統(tǒng)還沒有公認(rèn)的統(tǒng)一定義。IEEE對其定義為“開放式數(shù)控系統(tǒng)應(yīng)提供這樣的能力:來自不同廠商的,在不同操作平臺上運行的應(yīng)用程序都能夠在系統(tǒng)上實現(xiàn),并且該系統(tǒng)能夠和其他應(yīng)用系統(tǒng)協(xié)調(diào)工作?!北疚淖髡吒鶕?jù)自身的研究工作,并結(jié)合本書內(nèi)容,對開放式數(shù)控系統(tǒng)給出如下定義:開放式數(shù)控系統(tǒng)本質(zhì)一個具備軟件平臺化、功能模塊化、界面組態(tài)化內(nèi)部屬性和可移植性、可伸縮性、互操作性外部特征,支持用戶根據(jù)需求進(jìn)行數(shù)控系統(tǒng)二次開發(fā),并提供用戶應(yīng)用軟件的運行、管理平臺。因此,開放式數(shù)控系統(tǒng)的核心是支持用戶根據(jù)需求進(jìn)行二次開發(fā),增加定制化功能,提升機(jī)床的性能。
2)開放式數(shù)控系統(tǒng)的內(nèi)部屬性
要實現(xiàn)數(shù)控系統(tǒng)的開放,使其具備良好通用性、互換性,并且使用戶無需深入到底層硬件集成、操作系統(tǒng)調(diào)度等專業(yè)性要求很強(qiáng)的開發(fā)任務(wù)中,數(shù)控系統(tǒng)需具備軟件層次化、功能模塊化、界面組態(tài)化的內(nèi)部屬性。這些內(nèi)部屬性是數(shù)控系統(tǒng)廠商為實現(xiàn)數(shù)控系統(tǒng)的開放而對數(shù)控系統(tǒng)體系內(nèi)部架構(gòu)的設(shè)計。
(1)軟件層次化
數(shù)控系統(tǒng)軟件不僅包含解釋、插補(bǔ)及運動控制等功能的實現(xiàn),還需具備設(shè)備驅(qū)動、實時內(nèi)核及進(jìn)程調(diào)度等基礎(chǔ)功能。但是,用戶進(jìn)行數(shù)控系統(tǒng)二次開發(fā)目的是改進(jìn)現(xiàn)有功能或增加新功能,其工作并不需要涉及硬件讀寫、內(nèi)核管理等基礎(chǔ)功能。因此,需要對軟件進(jìn)行層次化劃分,使用戶進(jìn)行二次開發(fā)時只需要關(guān)注其所需功能的接口層,不需要了解基礎(chǔ)功能的實現(xiàn)和系統(tǒng)調(diào)度等任務(wù),在降低用戶開發(fā)難度的同時,在一定程度上保障系統(tǒng)的可靠和穩(wěn)定。
為了實現(xiàn)系統(tǒng)軟件的分層,首先需要把軟件從硬件中分離出來,降低硬件的可靠性受用戶加入功能的影響的可能,于是需要建立驅(qū)動層。其次,數(shù)控系統(tǒng)軟件隨著功能增多,變得越來越復(fù)雜,為了不讓用戶陷入到底層軟件的開發(fā)當(dāng)中,將軟件層次進(jìn)一步劃分出內(nèi)核層和應(yīng)用層,用戶只需要通過應(yīng)用層的接口進(jìn)行二次開發(fā),不需要直接在內(nèi)核的層面進(jìn)行開發(fā)。
綜上所述,可以將數(shù)控系統(tǒng)軟件平臺從技術(shù)層面分為3個層次:驅(qū)動層、內(nèi)核層、應(yīng)用層,如圖1所示。
圖1 開放式數(shù)控系統(tǒng)軟件平臺架構(gòu)
a.驅(qū)動層:驅(qū)動層一般由硬件抽象層(HAL)、板級支持包(BSP)和驅(qū)動程序組成,是數(shù)控系統(tǒng)軟件中不可或缺的重要部分,它的作用是為上層程序提供外部設(shè)備的操作接口,并且實現(xiàn)設(shè)備的驅(qū)動程序。上層程序在進(jìn)行硬件操作時,不需要了解設(shè)備的具體細(xì)節(jié),只需要調(diào)用驅(qū)動的接口即可。
b.內(nèi)核層:內(nèi)核層即嵌入NC內(nèi)核的操作系統(tǒng)層,包含實時內(nèi)核、進(jìn)程調(diào)度、NC內(nèi)核功能模塊、文件系統(tǒng)、圖形用戶接口和網(wǎng)絡(luò)系統(tǒng)等。在嵌入式系統(tǒng)中工作的操作系統(tǒng)稱為EOS(Embedded Operating System,嵌入式操作系統(tǒng)),EOS在數(shù)控系統(tǒng)中主要作用是處理由內(nèi)部或者外部事件引發(fā)的中斷、設(shè)備驅(qū)動層的激活以及執(zhí)行任務(wù)的調(diào)度,它并不執(zhí)行具體的應(yīng)用功能,如運動控制、界面顯示等具體功能是由應(yīng)用層的應(yīng)用軟件實現(xiàn)的。
c.應(yīng)用層:應(yīng)用層軟件主要指多個相對獨立的應(yīng)用任務(wù),每個應(yīng)用任務(wù)完成特定的工作,如I/O任務(wù)、計算任務(wù)、通信任務(wù)、人機(jī)界面等,由操作系統(tǒng)調(diào)度各個任務(wù)的進(jìn)行。它由基于操作系統(tǒng)的應(yīng)用程序組成,用來完成對被控制對象的控制功能。應(yīng)用層是面向被控制對象和用戶的,為了方便用戶的操作,往往需要友好的人機(jī)界面。應(yīng)用程序運行在操作系統(tǒng)之上,通過對操作系統(tǒng)的接口函數(shù)的調(diào)用,實現(xiàn)系統(tǒng)如采集診斷、運動控制等具體的應(yīng)用功能。各種任務(wù)以應(yīng)用程序的形式集合在應(yīng)用層,服務(wù)于不同的功能模塊。在操作系統(tǒng)的支持下,每個任務(wù)都被分配到一個優(yōu)先級,根據(jù)優(yōu)先級別的高低,動態(tài)切換任務(wù),以保證實時性的要求。此外,操作系統(tǒng)根據(jù)每個任務(wù)的要求,進(jìn)行資源管理,合理分配資源,實現(xiàn)消息管理、任務(wù)調(diào)度和異常處理等任務(wù)。
數(shù)控系統(tǒng)是一個專用性很強(qiáng)的多任務(wù)調(diào)度運行系統(tǒng),按照任務(wù)運行實時性強(qiáng)弱的劃分方法,一般將數(shù)控系統(tǒng)的任務(wù)劃分為管理任務(wù)和控制任務(wù)兩大類。如圖2所示,其中控制類任務(wù)的工作與數(shù)控加工直接相連,對實時性要求高,而管理類任務(wù)的工作對實時性的要求相對較低。系統(tǒng)的控制任務(wù)又可細(xì)分為位置控制、軌跡插補(bǔ)、指令譯碼、I/O控制、誤差控制、狀態(tài)實時監(jiān)控與故障診斷等子任務(wù);系統(tǒng)的管理任務(wù)則包括人機(jī)交互管理、顯示管理、數(shù)據(jù)管理、通信管理和網(wǎng)絡(luò)管理等子任務(wù)。而且,在實際的開發(fā)設(shè)計中可根據(jù)需要對各個子任務(wù)進(jìn)行進(jìn)一步細(xì)分,形成一個任務(wù)集合,任務(wù)集合中的任務(wù)都必須根據(jù)外部事件及時被激活運行,同時結(jié)合具體的加工情況,由操作系統(tǒng)統(tǒng)一調(diào)度,動態(tài)地對任務(wù)進(jìn)行優(yōu)先級控制,以適應(yīng)不同加工任務(wù)的要求。當(dāng)有高優(yōu)先級的任務(wù)進(jìn)入任務(wù)列表時,內(nèi)核通過優(yōu)先級搶占調(diào)度方式切換到高優(yōu)先級的任務(wù);當(dāng)同等優(yōu)先級的多個任務(wù)進(jìn)入任務(wù)列表時,內(nèi)核通過時間片輪轉(zhuǎn)調(diào)度法實現(xiàn)多任務(wù)的并發(fā)控制。操作系統(tǒng)具體的多任務(wù)調(diào)度機(jī)制以在上一小節(jié)給出詳細(xì)解釋。
圖2 數(shù)控系統(tǒng)應(yīng)用層任務(wù)劃分
通過系統(tǒng)軟件的分層可以實現(xiàn)“高內(nèi)聚”和“低耦合”,每層間功能上獨立,減少依賴關(guān)系,擴(kuò)展性、可維護(hù)性增強(qiáng)。另外每層之間實現(xiàn)指定功能,與其他層之間通過指定接口建立聯(lián)系,可移植性大大提升。
(2)功能模塊化
對數(shù)控系統(tǒng)的功能進(jìn)行模塊化開發(fā),使其基礎(chǔ)軟件模塊具有可重用性,提高系統(tǒng)的可維護(hù)性、可擴(kuò)充性是開放式數(shù)控系統(tǒng)實現(xiàn)開放的必要條件。數(shù)控系統(tǒng)功能模塊化也稱軟件芯片化,是指采用面向?qū)ο蟮募夹g(shù),對數(shù)控系統(tǒng)的功能劃分,把一些通用模塊做成獨立的可重用的對象類,建立類似于硬件芯片的數(shù)控系統(tǒng)軟件芯片庫。當(dāng)開發(fā)新的數(shù)控系統(tǒng)時,只需從軟件芯片庫中取出相應(yīng)的模塊加以組合即可,必要時加以擴(kuò)充,而無需從頭開發(fā)整個系統(tǒng), 這樣便改變數(shù)控系統(tǒng)的封閉式設(shè)計,提高了整個系統(tǒng)的靈活性,實現(xiàn)了數(shù)控系統(tǒng)開放性設(shè)計、資源得到重用。利用軟件芯片構(gòu)建數(shù)控系統(tǒng)的過程如圖3所示。
圖3 基于軟件芯片庫的數(shù)控系統(tǒng)的構(gòu)建過程
a.軟件芯片的特點:內(nèi)部黑箱封裝;接口標(biāo)準(zhǔn)規(guī)范化;多態(tài)性及繼承性。
b.功能模塊的劃分:人機(jī)交互界面模塊;編碼譯碼模塊;刀補(bǔ)預(yù)處理模塊;軌跡插補(bǔ)模塊;軸伺服控制模塊;I/O模塊。上述幾個基本模塊具有互操作性、可移植性和可擴(kuò)展性,且是構(gòu)成CNC系統(tǒng)最小的配置模塊,可作為數(shù)控功能的基本劃分,作為最基本的CNC軟件芯片,此外還有刀具管理、數(shù)據(jù)庫管理等芯片,軟件芯片的功能與數(shù)量的定義是動態(tài)的,隨著應(yīng)用需求的變化和CNC技術(shù)的發(fā)展,可能需要增加新的軟件芯片。軟件芯片之間協(xié)作關(guān)系如圖4所示。
圖4 開放式數(shù)控系統(tǒng)軟件芯片對象協(xié)作關(guān)系
(3)界面組態(tài)化
人機(jī)界面是人與數(shù)控系統(tǒng)之間傳遞、交換信息的媒介,是數(shù)控系統(tǒng)的重要組成部分,人機(jī)界面的二次開發(fā)是大部分用戶完成可視化內(nèi)容的個性化定制及開發(fā)的重要手段。目前,數(shù)控系統(tǒng)的通用人機(jī)界面已經(jīng)具備了比較通用、完備的功能,能夠?qū)崿F(xiàn)監(jiān)控、診斷、編程、設(shè)置等操作。但是,這種標(biāo)準(zhǔn)化的人機(jī)界面不能滿足用戶對特定加工工藝的個性化定制需求,另外,用戶提出新功能,數(shù)控系統(tǒng)廠家開發(fā)需要一定的開發(fā)周期往往不能及時響應(yīng)市場需求。因此,需要開發(fā)一種數(shù)控系統(tǒng)人機(jī)界面二次開發(fā)平臺,不僅滿足用戶對數(shù)控系統(tǒng)的專業(yè)化、個性化需求,而且滿足開放式數(shù)控系統(tǒng)的便于擴(kuò)展、對用戶開放等需求。
對于這種需求,人們提出了組態(tài)的概念,組態(tài)的核心思想就是以圖形可視化方式將人機(jī)界面以功能組件的形式,通過特定的方式配置組織起來,實現(xiàn)人機(jī)界面靈活地、可擴(kuò)展地開發(fā)。組態(tài)技術(shù)可以以圖形可視化的方式,通過功能組件的組合配置,以組態(tài)的形式快速靈活地構(gòu)建具有高可擴(kuò)展性的人機(jī)界面??偟膩碚f人機(jī)界面的組態(tài)技術(shù)主要有兩個特點:
一是圖形化的界面構(gòu)建能力:組態(tài)化界面開發(fā)是以圖形可視化的方式添加和配置界面圖元來構(gòu)建完成的。組態(tài)要求部署后的組態(tài)界面應(yīng)該和開發(fā)過程中的組態(tài)界面保持“靜態(tài)的一致性”,以實現(xiàn)所見即所得的界面開發(fā)理念。
二是組件式的功能配置:組態(tài)人機(jī)界面應(yīng)該由獨立的功能單元組合而成,這些功能單元組件可以是圖元、設(shè)備或者功能模塊等,通過“配置”的形式將這些功能單元的組合即可完成人機(jī)界面構(gòu)建,同時這些功能單元之間的組合形式應(yīng)該是低耦合,可擴(kuò)展的。一般來說,組成數(shù)控人機(jī)界面的主要元素有圖形、控件、變量、設(shè)備、數(shù)據(jù)庫、邏輯命令,為了實現(xiàn)數(shù)控人界面組態(tài)過程中的靈活性,降低各個組件和元素之間的耦合性及HMI 結(jié)構(gòu)的復(fù)雜性,對數(shù)控人機(jī)界面進(jìn)行模塊化劃分。以功能性為劃分依據(jù),采用軟件設(shè)計中常用的 MVC 系統(tǒng)框架(model-view-control 框架),將組成計算機(jī)軟件的數(shù)據(jù)、圖形以及邏輯控制部分抽象剝離出來,以到達(dá)降低系統(tǒng)耦合性和提升擴(kuò)展性的目的。最終,將人機(jī)界面的基本元素劃分為數(shù)據(jù),圖形和交互控制三個模塊。其中數(shù)據(jù)模塊對應(yīng)于人機(jī)界面的各種數(shù)據(jù)源,為視圖的顯示提供數(shù)據(jù), 主要包括機(jī)床運行與加工過程中的各種數(shù)據(jù)。圖形就是數(shù)控 HMI 在屏幕上的表示形式,主要包括構(gòu)成人機(jī)界面的基本圖形即常用組件等;交互控制則主要負(fù)責(zé)人機(jī)界面運行過程中的邏輯控制及用戶交互。
組件化是對組成人機(jī)界面功能單元進(jìn)行相應(yīng)的處理,將相同或相似的功能單元進(jìn)行提煉與抽象,轉(zhuǎn)化為具有標(biāo)準(zhǔn)接口、可復(fù)用的功能組件的過程。如圖5所示,組件化的步驟主要包括單元識別、單元聚類以及單元集概括抽象和組件封裝?;締卧R別即將組成系統(tǒng)的基本單元,依據(jù)功能、邏輯和結(jié)構(gòu)方面的差異,通過相應(yīng)的識別方法,按照一定劃分粒度,將具有獨立功能且與其他基本單元低耦合的功能單元提取出來。在功能單元的識別過程中,劃分粒度對最終人機(jī)界面的靈活性和擴(kuò)展性起著決定性作用。粒度過大將導(dǎo)致單元組件可配置性差,組態(tài)界面的整體靈活性不高;而粒度過小,則會導(dǎo)致界面系統(tǒng)過于復(fù)雜,可維護(hù)性性不夠。因此劃分粒度應(yīng)根據(jù)功能單元的特點及經(jīng)驗進(jìn)行選擇。
圖5人機(jī)界面組件化基本過程
基本功能單元識別完成后,將一些在功能、結(jié)構(gòu)上或邏輯上具有一定相似性的單元進(jìn)行分類,構(gòu)成能夠?qū)崿F(xiàn)特定功能的單元集,提升單元集內(nèi)元素的聯(lián)系性,降低單元集之間元素的相似性和耦合性,這個過程便稱為單元聚類。單元聚類后,利用面向?qū)ο筌浖_發(fā)中類的思想,對這些單元集進(jìn)行概括和總結(jié),抽象成為單元“類”,并提煉出單元類的根本屬性,并將其參數(shù)化,添加用于組件組合的外部接口,最后封裝成具有特定功能,可復(fù)用且具有標(biāo)準(zhǔn)可配置參數(shù)與組合接口的單元組件。
「2. 開放式數(shù)控系統(tǒng)的特征」
以上兩部分對封閉式和開放式數(shù)控系統(tǒng)的內(nèi)部屬性進(jìn)行了分析,從用戶的角度來講,封閉式和開放式數(shù)控系統(tǒng)在特征上也有所區(qū)別。表2給出了封閉式和開放式數(shù)控系統(tǒng)的具體特征的詳細(xì)對比。
表2 封閉式和開放式數(shù)控系統(tǒng)的外部特征
通過以上對比分析,我們可以知道傳統(tǒng)封閉式數(shù)控系統(tǒng)具有可靠性高、成本較低的優(yōu)點,對于典型量大面廣的場合還是以傳統(tǒng)數(shù)控系統(tǒng)的應(yīng)用為主。但是,隨著科技的進(jìn)步和其它相關(guān)支撐技術(shù)的發(fā)展,開放式數(shù)控系統(tǒng)取得了長足發(fā)展,傳統(tǒng)封閉式數(shù)控系統(tǒng)的這些優(yōu)勢已經(jīng)不再明顯。開放式數(shù)控系統(tǒng)允許用戶根據(jù)自己的實際需求進(jìn)行選配、集成、更改或者擴(kuò)展系統(tǒng)的功能以快速適應(yīng)不同的應(yīng)用場合。
一般來說,開放式數(shù)控系統(tǒng)應(yīng)具有以下基本特征:
(1)開放性:提供標(biāo)準(zhǔn)化環(huán)境的基礎(chǔ)平臺,允許不同功能和不同開發(fā)商的軟、硬件模塊介入。
(2)可移植性:不同的應(yīng)用程序可運行于不同生產(chǎn)商提供的系統(tǒng)平臺,同樣的,系統(tǒng)軟件也可以運行于不同特性的硬件平臺。通過標(biāo)準(zhǔn)的設(shè)備接口,各功能模塊能夠正常運行在不同的硬件平臺上。
(3)可伸縮性:增添或減少系統(tǒng)的功能僅表現(xiàn)為特定功能模塊的裝載或卸載。允許用戶結(jié)合實際需要進(jìn)行二次開發(fā),甚至允許用戶將自行設(shè)計的標(biāo)準(zhǔn)功能模塊集成到數(shù)控系統(tǒng)內(nèi)部,從而實現(xiàn)深層的二次開發(fā)。
(4)互換性:不同性能、不同可靠性和不同能力的功能模塊可以相互替代,而不影響系統(tǒng)的協(xié)調(diào)運行。
(5)相互操作性:提供標(biāo)準(zhǔn)化的接口、通信和交互模型。不同的應(yīng)用程序模塊通過標(biāo)準(zhǔn)化的應(yīng)用程序接口運行于系統(tǒng)平臺之上,不同的模塊之間保持平等的相互操作能力,協(xié)調(diào)工作。標(biāo)準(zhǔn)化的接口既包含硬件接口,如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)
+關(guān)注
關(guān)注
5文章
260瀏覽量
24231 -
屬性
+關(guān)注
關(guān)注
0文章
23瀏覽量
8530 -
應(yīng)用軟件
+關(guān)注
關(guān)注
0文章
51瀏覽量
9076
發(fā)布評論請先 登錄
相關(guān)推薦
評論