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

基于高檔數(shù)控系統(tǒng)的實(shí)時(shí)多任務(wù)實(shí)現(xiàn)

來(lái)源:互聯(lián)網(wǎng)

點(diǎn)擊:1182

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞:數(shù)控系統(tǒng) 多任務(wù) 高檔

    0 引言

      實(shí)時(shí)性是數(shù)控系統(tǒng)一項(xiàng)重要的性能指標(biāo)。

      通信在IPC(Industrial Personal Computer)與運(yùn)動(dòng)控制器構(gòu)成的開放式數(shù)控系統(tǒng)開發(fā)平臺(tái)上,雖然這種主從式結(jié)構(gòu),確保了運(yùn)動(dòng)控制指令在運(yùn)動(dòng)控制器內(nèi)高速、實(shí)時(shí)的被執(zhí)行,但在PC平臺(tái)上,仍需要完成諸如實(shí)時(shí)顯示、預(yù)處理計(jì)算、系統(tǒng)狀態(tài)監(jiān)控等許多任務(wù)。為了保證系統(tǒng)的實(shí)時(shí)性能,擬采用多線程技術(shù),通過(guò)多任務(wù)并行處理的方式,提高系統(tǒng)實(shí)時(shí)性。

    1 進(jìn)程與線程以及多線程技術(shù)

      Windows操作系統(tǒng)既支持多進(jìn)程,又支持多線程。一個(gè)進(jìn)程就是應(yīng)用程序的一個(gè)實(shí)例,一次執(zhí)行過(guò)程也就是調(diào)入內(nèi)存準(zhǔn)備執(zhí)行的程序,包括當(dāng)前執(zhí)行的應(yīng)用程序的執(zhí)行代碼和程序執(zhí)行相關(guān)的一些環(huán)境信息。每個(gè)進(jìn)程擁有整臺(tái)計(jì)算機(jī)的資源,無(wú)須知道其他進(jìn)程在計(jì)算機(jī)中的信息。通常每個(gè)進(jìn)程至少有一個(gè)線程在執(zhí)行所屬地址空間中的代碼,該線程稱為主線程,如果該主線程運(yùn)行結(jié)束,系統(tǒng)將自動(dòng)清除進(jìn)程及其他地址空間。

      線程是進(jìn)程內(nèi)部執(zhí)行的路徑,是操作系統(tǒng)分配CPU時(shí)間的基本實(shí)體,是程序運(yùn)行的最小單位。每個(gè)進(jìn)程都由主線程開始進(jìn)行應(yīng)用程序的執(zhí)行。線程由一個(gè)堆棧、CPU寄存器的狀態(tài)和系統(tǒng)調(diào)用列表中的一個(gè)人口組成。每個(gè)進(jìn)程可以包含一個(gè)以上的線程,這些線程可以同時(shí)獨(dú)立地執(zhí)行進(jìn)程地址空間中的代碼,共享進(jìn)程中的所有資源。

      Windows系統(tǒng)分配處理器時(shí)間的最小單位是線程,系統(tǒng)不停地在各個(gè)線程之間切換。在PC機(jī)中,同一時(shí)間只有一個(gè)線程在運(yùn)行。通常系統(tǒng)為每個(gè)線程劃分的時(shí)間片很小(ms級(jí)別),這樣快速系統(tǒng)的實(shí)時(shí)性就有了保障。

      要實(shí)現(xiàn)多線程編程,可建立輔助線程(Worker Thread)和用戶界面線程(User Interface Thread)。輔助線程主要用來(lái)執(zhí)行數(shù)控程序、坐標(biāo)顯示、動(dòng)態(tài)仿真和數(shù)據(jù)預(yù)處理;用戶界面線程用來(lái)處理用戶的輸入,響應(yīng)用戶產(chǎn)生的事件和消息。

    2 實(shí)時(shí)多任務(wù)的實(shí)現(xiàn)

      數(shù)控系統(tǒng)軟件具有實(shí)時(shí)性和多任務(wù)兩大特點(diǎn)。數(shù)控系統(tǒng)中要管理和控制的任務(wù)很多,如當(dāng)數(shù)控系統(tǒng)正處于加工控制狀態(tài)時(shí),為了保證加工的連續(xù)性,在各個(gè)程序段之間不停頓,各數(shù)控加工程序段的預(yù)處理、插補(bǔ)計(jì)算、位置控制和各種輔助控制任務(wù)都要及時(shí)進(jìn)行;為了使操作人員及時(shí)了解和干預(yù)數(shù)控系統(tǒng)的工作狀態(tài),系統(tǒng)在執(zhí)行加工任務(wù)的同時(shí)還應(yīng)該及時(shí)進(jìn)行一些人機(jī)交互工作,即顯示加工狀態(tài)、接收操作人員通過(guò)操作面板輸入的各種改變系統(tǒng)狀態(tài)的控制信號(hào)等。為了及時(shí)檢查和預(yù)報(bào)軟、硬件的各種故障,系統(tǒng)在運(yùn)行控制程序和人機(jī)交互程序同時(shí)還要及時(shí)運(yùn)行診斷程序;此外,系統(tǒng)還可能被要求及時(shí)完成通信等其他任務(wù)??梢?jiàn),理想的數(shù)控程序,應(yīng)具有實(shí)時(shí)多任務(wù)的處理能力。

      針對(duì)數(shù)控系統(tǒng)軟件的實(shí)時(shí)性和多任務(wù)性兩大特點(diǎn),采用分時(shí)并行處理技術(shù)來(lái)確定數(shù)控系統(tǒng)軟件結(jié)構(gòu)。分時(shí)并行處理技術(shù)是指一個(gè)處理器同時(shí)完成多種任務(wù)。系統(tǒng)用時(shí)間片輪換的方式處理和完成各任務(wù),即按照某種輪換次序給每個(gè)任務(wù)分配一段CPU時(shí)間進(jìn)行各任務(wù)的處理。從微觀上看,各任務(wù)分時(shí)占用CPU;從宏觀的角度來(lái)看,在一段時(shí)間內(nèi),CPU并行完成了多個(gè)任務(wù)。在軟件設(shè)計(jì)中,利用Windows的多線程技術(shù)以資源分時(shí)共享為原則,有效地解決CNC系統(tǒng)的實(shí)時(shí)多任務(wù)問(wèn)題。應(yīng)用優(yōu)先級(jí)搶占方式來(lái)進(jìn)行線程調(diào)度,以滿足系統(tǒng)的實(shí)時(shí)性要求,利用時(shí)間重疊和資源共享的方法來(lái)實(shí)現(xiàn)并行處理。

      2.1 系統(tǒng)線程的總體設(shè)計(jì)

      Windows提供兩種線程,輔助線程和主線程。主線程有窗口,因此它有自己的消息循環(huán),可以處理消息,使程序能夠迅速響應(yīng)命令和其他事件;輔助線程沒(méi)有窗口,所以它不需要處理消息。它可用于完成一些費(fèi)時(shí)的工作,以免在由主線程處理這些工作時(shí)阻礙程序消息的處理。軟件設(shè)計(jì)時(shí)有并行要求的模塊置于獨(dú)立的線程中,以實(shí)現(xiàn)系統(tǒng)的多任務(wù)并行工作。根據(jù)對(duì)系統(tǒng)實(shí)時(shí)多任務(wù)的分析,將軟件系統(tǒng)中的線程設(shè)計(jì)為:

      (1)主線程

      主線程是應(yīng)用系統(tǒng)啟動(dòng)時(shí)創(chuàng)建的第一個(gè)線程,其他線程都是由主線程直接或間接創(chuàng)建。主線程主要負(fù)責(zé)創(chuàng)建客戶界面、數(shù)據(jù)顯示、與客戶交互、系統(tǒng)初始化以及對(duì)其他線程進(jìn)行監(jiān)控。

      (2)譯碼線程

      譯碼線程是由主線程創(chuàng)建的,負(fù)責(zé)程序的譯碼,并將計(jì)算結(jié)構(gòu)存入公共數(shù)據(jù)區(qū),為通信線程提供數(shù)據(jù)來(lái)源。

      (3)通信線程

      通信線程負(fù)責(zé)上下位機(jī)間的數(shù)據(jù)傳輸。上下位機(jī)間的傳輸以一來(lái)一回的形式進(jìn)行。通信線程接收到下位機(jī)傳來(lái)的數(shù)據(jù),根據(jù)事先定義好的協(xié)議對(duì)它進(jìn)行識(shí)別,并根據(jù)識(shí)別的結(jié)果來(lái)判斷是否需要將插補(bǔ)命令等傳給下位機(jī),還需要通知主線程來(lái)處理異常情況。

      通信線程所承擔(dān)的任務(wù)是強(qiáng)實(shí)時(shí)周期性任務(wù),譯碼線程所承擔(dān)的任務(wù)是弱實(shí)時(shí)性任務(wù),主線程承擔(dān)的是實(shí)時(shí)突發(fā)性任務(wù)。因此根據(jù)系統(tǒng)任務(wù)實(shí)時(shí)性強(qiáng)弱不同,可為各個(gè)線程設(shè)置相應(yīng)的優(yōu)先級(jí)來(lái)確保實(shí)時(shí)性。主線程與進(jìn)程的優(yōu)先級(jí)相同,通信線程的優(yōu)先級(jí)高于主線程,而譯碼線程的優(yōu)先級(jí)高于主線程低于通信線程。

      在線程優(yōu)先級(jí)設(shè)置中,通信線程的優(yōu)先級(jí)最高,這使得通信線程在需要CPU時(shí)間片等資源時(shí),能夠順利的搶占其他線程的資源,保證上下位機(jī)的通信順暢,使下位機(jī)在加工時(shí)能夠平穩(wěn)的實(shí)現(xiàn)進(jìn)程,并且使下位機(jī)在出現(xiàn)異常情況時(shí)能及時(shí)通知上位機(jī)。由于通信這一動(dòng)作是依照某種頻率進(jìn)行的,因此通信線程不會(huì)一直占用CPU資源,從而不會(huì)因?yàn)樗膬?yōu)先級(jí)高使其他線程無(wú)法運(yùn)行。

      具體實(shí)現(xiàn)原理架構(gòu)如圖1所示。

      2.2 系統(tǒng)線程的具體實(shí)現(xiàn)

      Delphi提供了許多與多線程編程相關(guān)的組件,其中最重要的是Tthread類,本文就是利用它來(lái)實(shí)現(xiàn)多線程編程。該類封裝了大多數(shù)與線程相關(guān)的方法,使用Tthread類大大簡(jiǎn)化了多線程程序的開發(fā)步驟。Tthread類是一個(gè)抽象類,不可以直接創(chuàng)建它的實(shí)例,但是可以創(chuàng)建它的派生類。創(chuàng)建方法在Delphi菜單中依次選擇“File”→“New”→“Other”→“New”,選擇“Thread Object”項(xiàng),在對(duì)話框中輸入新的線程類的名稱,確認(rèn)后即創(chuàng)建了一個(gè)新的線程類:

      其中:“private”及“protected”用來(lái)定義變量和程序函數(shù),“procedure Execute;override;”是線程函數(shù),用來(lái)編寫線程的執(zhí)行部分。同時(shí)Delphi還提供了各種函數(shù)用來(lái)運(yùn)行和終止線程等。創(chuàng)建了線程的派生類后可以生成該類的對(duì)象,來(lái)表示應(yīng)用程序的執(zhí)行線程。各個(gè)線程創(chuàng)建好后將NC的解釋程序、通信程序等放在各自線程函數(shù)內(nèi),再創(chuàng)建線程的對(duì)象,設(shè)置幾個(gè)線程就生成幾個(gè)對(duì)象,在對(duì)象內(nèi)編寫打開或終止線程等函數(shù)來(lái)控制線程的運(yùn)行。

    3 結(jié)語(yǔ)

      基于Windows平臺(tái)的高檔數(shù)控實(shí)時(shí)操作系統(tǒng)的開發(fā),實(shí)現(xiàn)了不僅能向Windows平臺(tái)添加實(shí)時(shí)功能,而且使這些實(shí)時(shí)功能具有很好的可擴(kuò)展性。本課題下步的目標(biāo)是將此實(shí)時(shí)系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)在Windows XPEmbedded平臺(tái)上,使其具備高檔數(shù)控系統(tǒng)需要的嵌入式設(shè)備的特性。

    (審核編輯: 智匯張瑜)

    聲明:除特別說(shuō)明之外,新聞內(nèi)容及圖片均來(lái)自網(wǎng)絡(luò)及各大主流媒體。版權(quán)歸原作者所有。如認(rèn)為內(nèi)容侵權(quán),請(qǐng)聯(lián)系我們刪除。

    主站蜘蛛池模板: 秦皇岛市华谊彩印有限公司 | 秦皇岛天视影像有限公司,宣传片创意拍摄制作,商业广告拍摄公司,影视影像服务商 - 秦皇岛天视影像有限公司,宣传片创意拍摄制作,商业广告拍摄公司,影视影像服务商 秦皇岛市信恒电子科技有限公司 秦皇岛市华谊彩印有限公司 | 扭力扳手_扭力扳手检定仪_数显扭力扳手_扭力测试仪_测力计_推拉力计_拉力测试仪_测试台架-上海实干实业有限公司 | 西安网站建设,西安网站设计制作,西安短视频拍摄_短视频运营就选动力无限网络推广公司 | 上海海外置业展_2024海外置业移民留学展_4月5-7日_企业参展处/免费领门票 | 优质课网_收录全国及各省市最新优质课视频,说课视频,名师课例课堂实录,高效课堂教学视频,观摩展示公开示范优秀课视频,教学大赛视频! | 四合扣-工字扣-帽钉(831,200,警用,大拉力四合扣)-永嘉县鑫达钮扣有限公司 | 医院,小型生活污水处理设备-山东明基环保设备有限公司 | 微米环境-餐厨/厨余/果蔬垃圾处理设备厂家-大型成套设备解决方案 | 康复器材_常州市友邦医疗康复器材有限公司官网 | 塑木地板-木塑地板厂家「云南昆明楚雄曲靖玉溪塑木地板」云南云冶中信塑木新型材料有限公司 | 直膨式空调机组_风冷恒温恒湿_转轮式热回收_屋顶式空调机组_德州瑞尼森环保科技有限公司 | 磨粉设备_雷蒙磨粉机_雷蒙超细磨 | 山东亮化工程_亮化公司_亮化资质-山东星汇照明工程有限公司 | 麦秸映像网络技术有限公司,河南省政府采网入驻对接,新乡网站维护建设,小程序开发,APP定制开发,钉钉开发,新乡软件开发等相关网络业务 | 山东净化车间_净化工程_净化公司-山东海蓝净化装饰工程有限公司 山东金起起重机械有限公司[官网]-金桥银路悬臂吊,金起龙门吊,山东金起起重行吊,单梁起重机 | 烟气在线监测系统_VOCs在线监测_分析仪「杭州世驰科技」 | 耐磨工业软管,PTFE耐腐蚀软管,耐磨喷砂胶管,超耐磨软管厂家,漯河利通液压管利通科技-耐磨工业软管,PTFE耐腐蚀软管,耐磨喷砂胶管,超耐磨软管厂家,漯河利通液压管利通科技 | 交通标志牌-交通标牌-铝圆牌-铝三角片-铝滑槽-公路警示指示牌-方牌-高速道路反光牌毛坯-交通设施安全警示标识牌-路名指示限速限高牌-厂家加工交通标牌铝板半成品毛坯-上海吕盟铝业有限公司 | 文学素材,好词好句,正能量句子,百科知识-素文网 | 压力机-压装机-黄油机-黄油泵-[广东品嘉灵]专业定制各种精密压装设备 | 亚洲一区日韩一区欧美一区a,中文字幕乱妇无码AV在线,欧美日韩免费在线观看,国产精品一区二区三区免费,日韩精品免费一线在线观看,日韩一本在线,国产呦精品一区二区三区下载,国产日韩精品一区二区在线观看,欧美日韩高清一区二区三区,日韩在线免费观看视频,欧美日韩一区在线观看 | 铸铁平台,三维柔性焊接平台,划线平台,大理石平台,检验平板,花岗石平台_泊头市恒量机械设备有限公司 | 上海品牌设计公司|品牌策划公司|包装设计公司|上海全案LOGO设计VI设计-木马品牌设计 | 尼日利亚SONCAP认证_沙特SABER认证_摩洛哥COC认证-诺帝检测技术(上海)有限公司 | 浙江云野科技有限公司_智慧旅游规划_智慧景区管理系统_全域旅游解决方案-云野科技旅游大数据管理平台 | 徐州户外广告,标识标牌,展陈空间,精神堡垒-徐州雅努思文化发展有限公司 | 指挥调度|调度系统|应急指挥调度|应急指挥|可视化调度|多媒体指挥调度|融合通信|综合调度|应急指挥系统|IP调度系统-北京瑞光极远数码科技有限公司 | 智能门锁管理-公寓管理软件-智能水电表管理系统-深圳安安智能 | 石家庄大正机电设备有限公司_ | 热泵烘干机_食品烘干机_水果烘干机_蔬菜烘干机_河南蓝天机械制造有限公司 | 蒸汽发生器-电加热蒸汽发生器、燃油蒸汽发生器、燃气蒸汽发生器设备厂家-诺贝思蒸汽发生器 | 筱晓(上海)光子技术有限公司官网,MCT探测器,半导体激光二极管,中红外QCL激光器,光纤放大器,光电探测器 | 眉山净源居环保科技有限公司,眉山除甲醛公司,眉山甲醛治理,眉山保洁服务,眉山家政保洁,眉山家电维修 - 眉山净源居环保科技有限公司,眉山除甲醛公司,眉山甲醛治理,眉山保洁服务,眉山家政保洁,眉山家电维修 | 举升机,登高梯,升降平台,升降车,升降机,高空作业平台车 | 中式婚礼_汉服婚礼_传统婚礼_婚庆公司_云歌婚礼策划【官网】 | 凿岩机|操车设备|爬车机|三环链|伞钻|伞型钻机|中心回转抓岩机|往复式给煤机|滚轮罐耳|吊桶|钩头-济宁卓力工矿设备有限公司 | 眉山净源居环保科技有限公司,眉山除甲醛公司,眉山甲醛治理,眉山保洁服务,眉山家政保洁,眉山家电维修 - 眉山净源居环保科技有限公司,眉山除甲醛公司,眉山甲醛治理,眉山保洁服务,眉山家政保洁,眉山家电维修 | 郑州腾飞建设工程集团有限公司 | 水阻柜-液阻柜-高压开关柜-高压固态软启动柜-磁控软启动柜-电解粉-无功补偿柜-配电柜-襄阳源创电气 | 挥发性有机物,VOCs在线监测系统,深圳市恒富盛科技有限公司 |