智汇工业-智慧工业、智能制造及工业智能、工业互联门户网站,专业的工业“互联网+”传媒

基于Linux-RTAI的數控軟件結構設計與實現

來源:互聯網

點擊:1856

A+ A-

所屬頻道:新聞中心

關鍵詞:數控軟件 數控系統

      Linux是一個遵循可移植操作系統接口(POSIX, Portable Operating System Interface)標準的多用戶、多任務且具有先進的網絡特性開源操作系統。基于模塊化設計思想在開放的軟硬件平臺上開發適合一定需求的專用數控系統,已成為數控領域的一個研究熱點。雖然2.6以后的內核版本是可搶占的,但實時性仍比較弱,而數控系統本身要求有明顯的實時控制、實時交互和實時監測等特性。本文首先將RTAI移植到Linux OS,使系統達到了強實時的要求,而后在此平臺上完成了數控軟件的體系結構設計。

    1 實時Linux的實現

      提高Linux實時性,目前有兩種方法:1)直接修改Lint內核,如:Montavista; 2 )在Linux內核之上增加實時模塊,采用雙內核結構,如:RTAI。

      前一種方案對開發人員的技術要求較高,需要修改大量的代碼,開發效率低。RTAI是一個遵循GNU的開源項目。RTAI采用雙內核方法,不直接使用Lint的任何功能,而是把實時任務寫成一個驅動程序的形式,然后直接用PC時序芯片所產生的中斷調用這個驅動程序。RTAI在Lint上定義了一個實時硬件抽象層(RTHAL, Real Tirne Hardware Abstraction Layer),并針對RTAI開發了LXPT,讓RTAI可以調用Lint本身的系統調用功能。RTHAL的作’用是使RTAI能夠在實時任務需要運行的任何時刻中斷。引入RTAI后,Linux僅作為優先級最低的任務運行,并且只有在沒有實時任務時它才能執行。這樣做的好處在于將直接修改Linux核心的代碼減到最小,這使得將RTAI移植到Linux內核的工作量減至最低。

      本文以PIV 2.0GHz, S12MB RAM的通用PC機作為硬件開發平臺,以Red Hat 9為操作系統平臺,將3.5版本的RTAI移植到版本為2.6.15.2的Linux內核中測試操作系統實時性能,測試結果顯示,無論是內核層還是用戶層都能夠滿足數控系統實時性的要求。需要特別指出的是,許多不可測因素會導致調度器的運行時間變的不確定,繼而使接下來的任務的開始時間發生相應的變化,即產生了調度抖動。調度抖動對于基于通用處理器的實時系統來說是不可避免的。經試驗測定,上述開發平臺的調度抖動時間在50 ms左右,能夠滿足數控系統的需要。

    2 系統的軟件結構設計

      以集成RTAI實時內核的Linux操作系統為開發平臺,基于模塊化思想將數控軟件按照實時性的要求分為用戶層模塊和內核層實時模塊兩部分。所有與實時相關的任務都運行在內核層下,且用一個獨立的內核進程來執行;所有非實時進程運行于用戶層下,它們不能打斷實時進程的運行。同時兩大模塊又劃分為不同的子模塊。采用這種模塊化結構,實質是將功能分配給組件,這有利于軟件測試、系統維護以及增加新功能。該軟件體系結構如圖1所示。

    圖1數控軟件體系結構

      2.1 系統實時模塊的實現

      數控軟件的主程序由插補預處理任務、插補任務、位置控制任務、I/O控制任務和狀態監測任務(圖1中未全部給出)等組成。本文將以上任務分別作為一個內核進程,每個進程編譯成后綴為.0的模塊。數控加工過程中,G代碼是順序執行的,每一個模塊讀取前一模塊的數據,而將處理得到的數據輸出給后一模塊使用。首先,插補預處理任Pre-inter-polate ( )從I/O緩沖區中讀人G代碼,將代碼解釋為插補模塊可識別的數據結構,送入到預處理數據緩沖區prepare-fifo。而后,插補任務interpolate ( )從預處理數據緩沖區prepare-fifo中取出數據,然后進行插補運算,將結果送interpolate-fifo()。最后,位置控制任務motor( )周期性地從插補緩沖區interpolated-fifo計算出下一周期的實際坐標增量,輸出到位控數據緩沖區供伺服驅動單元(位控輸出模塊)使用。

      位控輸出模塊的優先級別最高,運行過程中不允許其它模塊中斷。同時,它的運行周期必須匹配于伺服驅單元的運行周期。因此,將其設計成周期性RTAI進程,運行周期為20 ms,l級優先權(級別越小,優先級越高)。預處理模塊、插補模塊和位置控制模塊的運行較之于位控輸出模塊都要快得多,因此將他們的周期設置為5 ms,優先級別依次為4級、3級和2級。

      采用基于優先級搶占的進程調度策略,實現對數控模塊的實時調度。當位控數據緩沖區的數據量小于緩沖區大小一半時,位控輸出模塊掛起自身,喚醒次高級的模塊(位控模塊);以此類推,當插補數據緩沖區的數據量小于緩沖區大小一半時,位控模塊就掛起自身,喚醒次高優先級模塊(插補模塊)。

      此外,在數控加工過程中,功能控制任務control()利用FIFO從用戶層向內核層傳遞控制命令,如點動、暫停和自動等,并實現對I/O口的控制。狀態檢測任務monitor()將傳輸到I/O口的各個閥門,壓力表狀態保存在status-fifo中,同時負責對運行時水壓和電流等值狀態進行判斷,實時監控機床運行狀態,對機床故障進行實時響應。這些任務采用實時中斷策略,由中斷信號觸發相應的模塊。

      實時模塊在數控軟件啟動時就加載到Linux內核中,實時進程和函數就可以訪問系統的底層資源。實時任務模塊由init-module()和cleanup -module()兩個RTAI函數聲明實現,并且可以通過這兩個函數進行資源分配和回收。

      2.2 模塊間的通信

      數控軟件各模塊之間需要大量的數據通信。歸納起來,主要有三類:

      (1)非實時進程間通信

      這類通信主要存在于人機交互界面中,用于編輯加工代碼、設置機床和系統的初始值等,采用管道、消息隊列、共享內存、信號等實現。

      (2)實時與非實時進程間通信

      這類通信主要完成插補主程序與系統界面的人機交互,動態模擬刀具軌跡,顯示加工狀態,采用實時管道FIFO和共享內存。

      (3)實時進程間通信

      這類進程主要完成數控主程序模塊之間的通信,采用FIFO和共享內存的方式進行通信。

      數控模塊通過調用RTAI接口函數ttf-create ( )來創建實時管道FIFO,實現數據傳輸,實時管道創建后在目錄/dev下生成字符設備文件/devlrkf" oLinux進程通過對這些文件的操作實現對實時管道的操作,調用。pen ( ) , read ( )和write ( )實現管道打開、讀和寫操作,調用select()和poll()實現異步I/OoFIFO的通信是單向的,因此模塊間的信息交互必須至少創建兩條管道才能實現。

    3 應用實例

      目前,經濟型數控系統僅具有直線和圓弧插補功能。針對這一現狀,課題組研究了二次曲線(直線、圓、橢圓、拋物線和雙曲線)的插補方法,編寫了直接插補直線、圓、橢圓、拋物線和雙曲線的模塊,將軟件應用于三坐標數控銑床的控制,進行了輪廓曲線的加工試驗,如圖2所示。

      對于一條二次曲線(直線、圓、橢圓、拋物線或雙曲線),數控軟件僅需調用相應的加工模塊一次,即可完成加工。而漸開線、擺線等復雜曲線的加工,可以應用直線、圓、橢圓、拋物線或雙曲線進行擬合,編寫數控加工程序代碼進行加工。數控軟件首先讀取加工程序代碼,并根據插補預處理模塊的輸出信息,自動調用相應的插補模塊完成加工。

      實驗結果表明,數控軟件采用優先級搶占的調度策略實現了對數控加工任務的實時調度,能夠流暢地運行在Linux-RTAI強實時性平臺上,完成對三坐標銑床的控制。

    4 結束語

      本文在實現Linux硬實時性的基礎上,完成數控軟件模塊化設計,并通過實驗驗證其正確性。在未來研究中,應重點開發其它曲線的插補模塊,同時應進一步優化任務周期、優先級以及緩沖區的選擇,減少系統對由于參數選擇不當引起的異常任務的響應。

    (審核編輯: 智匯胡妮)

    聲明:除特別說明之外,新聞內容及圖片均來自網絡及各大主流媒體。版權歸原作者所有。如認為內容侵權,請聯系我們刪除。

    主站蜘蛛池模板: 喷涂机器人|自动喷涂生产线|自动喷涂设备|自动化生产线-深圳市荣德机器人科技有限公司 | 十树品牌策划—品牌战略、品牌策划、品牌定位、品牌设计、包装设计、品牌营销-上海十树品牌管理咨询有限公司官网 | 涡街流量计罗茨气体涡轮厂家_衡水多元仪表有限公司 | 振动筛|不锈钢振动筛|振动筛生产厂家-新乡市大汉振动机械有限公司 | 无线对讲机系统-中继台-山区隧道信号覆盖-贝亚特 | 消防排烟风机|防火阀|斜流风机|江苏恒恒暖通设备有限公司 | 江阴月子会所-江阴月子中心-江阴坐月子、月子护理哪家好-乐茵月子中心 | 克莱门特中央空调维修 | 我的建筑网-中国建筑工程行业门户网站! | 潍坊博发动力设备有限公司 | 一体化净水器-一体化净水设备-集成式|装配式模块化净水设备-山东奕博环境 | 箱式电炉,箱式烧结炉,箱式马弗炉,箱式实验炉,高温箱式电阻炉,箱式加热炉,箱式退火炉,箱式真空气氛炉洛阳研博炉业有限公司 | 筱晓(上海)光子技术有限公司官网,MCT探测器,半导体激光二极管,中红外QCL激光器,光纤放大器,光电探测器 | 呼吸家官网|肺功能检测仪生产厂家|国产肺功能仪知名品牌|肺功能检测仪|肺功能测试仪|婴幼儿肺功能仪|弥散残气肺功能仪|肺功能测试系统|广州红象医疗科技有限公司|便携式肺功能仪|大肺功能仪|呼吸康复一体机|儿童肺功能仪|肺活量计|医用简易肺功能仪|呼吸康复系统|肺功能仪|弥散肺功能仪(大肺)|便携式肺功能检测仪|肺康复|呼吸肌力测定肺功能仪|肺功能测定仪|呼吸神经肌肉刺激仪|便携式肺功能 | 铸铁型材_灰铁棒_球铁棒_圆铁棒生产厂家★河北起昌精密装备制造有限公司 | 铁谷网-垂直于铸造产业链服务平台、原材料采购网、行业资讯网 | 图观 - 数字孪生 应用开发引擎 | 三维可视化 | 重庆宏工_隧道取芯钻机_公路护栏钻机-车载式钻机_打钻一体机_护栏抢修车_隧道钻机-工程机械 | 破碎机锤头-耐磨锤头-合金锤头-河南磐石耐磨材料有限公司 | 一体化污水处理设备-山东尚清环保科技有限公司 | 王者荣耀/和平精英扫码上号登录器_微信安卓苹果扫码上号登录软件 - 上号宝扫码登录器 | 衢州装饰公司_衢州装修公司_衢州创美装饰工程有限公司 - Powered by www.qzcmzs.com | 树脂井盖,复合井盖,井盖厂家-山东宝盖新材料 | 粮食烘干机|玉米烘干机|稻谷烘干机|小麦烘干机|大型连续烘干塔|500吨连续烘干塔|钢板仓|-郑州新光矿山机械制造有限公司 | 吉安仁济医院「官网」吉安男科医院-吉安仁济男科医院靠谱吗-男性专科医院 | 语音芯片_蓝牙芯片_ble数传芯片_蓝牙数传模块厂家_拓达半导体-蓝牙数传芯片模块原厂 | 上海希喆机械有限公司-Schunk雄克,雄克卡盘, 雄克机械手, B+R贝加莱, ELCIS编码器,艾西斯编码器, TWK编码器,Nexen,Joyce dayton升降机,Thomson汤姆森,TPG减速机,INA导轨。 | 烧腊培训,广东有实力的烧腊培训[免费试吃],广式烧鸭培训-烧鹅培训-学烧腊选广州嘉政 | 江苏广分检测技术有限公司、电力安全工具检测、苏州绝缘工具检测、昆山电力安全工具检测-广分检测技术(苏州)有限公司 | 合金锤头_破碎机锤头_耐磨锤头_巩义市东辰实业有限公司 | 兰州物流公司_兰州货运公司_兰州物流电话上门取货_兰州立辉物流公司 | 张家港起重搬运吊装,工厂设备搬运服务-张家港易源起重搬运有限公司 | 妙手网-圆心大药房-广东圆心恒金堂医药连锁有限公司-放心的网上药店_妙手医生旗下正规网上买药平台 | 食用油灌装机-油类食用油灌装设备-液体灌装机_青州市惠联灌装机械 | 气动隔膜调节阀,气动比例调节隔膜阀|川熙流体设备百科 | 临沂网站建设,临沂网站制作,临沂网络公司,临沂小程序开发,临沂网站设计,沂水网站建设,沂南网站建设,蒙阴网站建设,平邑网站建设,费县网站建设,兰陵网站建设,郯城网站建设,临沭网站建设,莒南网站建设,兰山网络公司 | 清洗剂-防锈油-润滑油-嘉信供应链一站式供应厂家 | 锯骨机-砍排机-全自动锯骨机-商用砍排机-切丁机 - 广州市九盈机械设备有限公司 | 输送带_山东输送带厂家_橡胶传送带-山东中输输送机械有限公司 | 食品油炸机_葱酥油炸机_蒜酥油炸机-山东世联机械厂家 | 注册公司计|代理记账|临港招商_上海临港商盟官网 |