全數(shù)字式數(shù)控總線應用層通用化設計
圖7統(tǒng)一的應用層協(xié)議數(shù)據(jù)報文
統(tǒng)一的應用層協(xié)議數(shù)據(jù)報文結構定義如下:
3.3 統(tǒng)一的單位系
由于不同總線所使用的參數(shù)單位不同,且差別很大,為使參數(shù)有統(tǒng)一的單位標準。系統(tǒng)設計了統(tǒng)一的單位系。如表1所示。
其中指令單位是指移動負載的位置數(shù)據(jù)的最小單位。指令單位應在考慮機械規(guī)格、定位精度等因素之后再行決定。例如可為mill、inch、度(o)等。每種參數(shù)都提供了多種單位供用戶選擇。并提供了基本單位供用戶設置。例如位置參數(shù)單位選擇mm。其基本單位設置為10一mm=0.001mm;速度參數(shù)單位選擇mm/s,其基本單位設置為10-3mm/s=0.001mm/s等。用戶可以根據(jù)具體的應用情況。選擇不同的參數(shù)單位及基本單位進行設置。使得在模塊之間傳遞的數(shù)據(jù)值含義保持一致。
3.4 統(tǒng)一的總線配置結構
統(tǒng)一的總線配置結構在總線初始化階段用來配置總線信息,各總線根據(jù)自己的情況,對每一項進行初始化。其結構定義如下:
其中SLV_ST_MAX為系統(tǒng)所允許的最大從站數(shù);wrong_addr表示主從站地址錯誤標識,0表示地址正確,l表示邏輯地址錯誤,2表示物理地址錯誤,3表示邏輯地址和物理地址都錯;st_laddr、st_paddr分別表示主從站的邏輯地址和物理地址,0號站為主站的地址。
3.5 統(tǒng)一的服務接口
各總線針對不同的從站設備所提供的應用層服務差別比較大,為向上層數(shù)控應用提供統(tǒng)一的訪問接口,系統(tǒng)設計了統(tǒng)一的應用層服務接口,包括傳輸服務、設備服務、總線管理服務等,并對各類服務進行了細分,給出了詳細的服務接口列表。
考慮到數(shù)控系統(tǒng)在實時性方面的要求,本文利用RTLinux實時內(nèi)核模塊對Linux操作系統(tǒng)進行了實時化改造。使其成為一個實時操作系統(tǒng)。以其作為軟件開發(fā)平臺,以C語言作為開發(fā)工具。系統(tǒng)采用Linux操作系統(tǒng)設備驅(qū)動方式來實現(xiàn)用戶訪問統(tǒng)一的服務接口,向上層應用程序屏蔽下層具體總線應用層服務接口函數(shù)實現(xiàn)細節(jié)的差異。每一種總線作為一個新設備加入設備鏈表,并為其注冊驅(qū)動程序,各總線驅(qū)動需要按照統(tǒng)一的服務接口實現(xiàn)自己的服務。統(tǒng)一的服務接口實現(xiàn)流程如圖8所示。
評論