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

基于組件技術(shù)的計算機(jī)數(shù)控系統(tǒng)開發(fā)

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

點(diǎn)擊:1342

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞:組件技術(shù) 數(shù)控系統(tǒng)

      隨著現(xiàn)代制造業(yè)的進(jìn)步和計算機(jī)集成系統(tǒng)的不斷成熟,數(shù)控系統(tǒng)融合計算機(jī)技術(shù)正朝著開放化、網(wǎng)絡(luò)化、智能化的方向發(fā)展。具有層次化結(jié)構(gòu)的開放式數(shù)控系統(tǒng)以其可擴(kuò)展、可移植、可互換和可配置等特點(diǎn),成為當(dāng)今數(shù)控技術(shù)發(fā)展的趨勢。

      組件技術(shù)具有可重用性和良好的語言無關(guān)性,可以實(shí)現(xiàn)跨進(jìn)程、跨平臺甚至網(wǎng)絡(luò)范圍內(nèi)的互操作,較好地解決軟件復(fù)用技術(shù)所面臨的問題。由組件來組建開放數(shù)控軟件,可在較高層次上滿足開放式數(shù)控系統(tǒng)的要求。因此,本文提出了一個基于組件技術(shù)的開放式數(shù)控系統(tǒng)體系結(jié)構(gòu),并對系統(tǒng)的設(shè)計、實(shí)現(xiàn)、封裝、部署等過程進(jìn)行了詳細(xì)介紹。

    1 系統(tǒng)組件的劃分

      本文建立的數(shù)控系統(tǒng)從邏輯上劃分為人機(jī)交互服務(wù)器(HMI Server)組件、認(rèn)證服務(wù)(Authentica-tion Service)組件、運(yùn)動控制核心(Motion ControlKernel,以下簡稱MCK)組件、PLC組件、運(yùn)動學(xué)(Kinematics)組件和人機(jī)交互客戶端(HMI Client)5個基本組成部分。

      a) HMI Client是數(shù)控系統(tǒng)的客戶端,為用戶提供一個與數(shù)控系統(tǒng)進(jìn)行交互的圖形或命令行形式的界面,并且可以同時存在多個實(shí)例,它不與運(yùn)動控制組件進(jìn)行直接交互,而是以HMI Server作為中介。

      b) HMI Server組件存在的目的是為HMIClient訪問運(yùn)動控制組件提供一個簡單的外觀層,降低HMI Client與運(yùn)動控制組件之間的耦合度,因此,其主要功能是轉(zhuǎn)發(fā)請求,并對任何加工數(shù)據(jù)進(jìn)行處理,它是Facade設(shè)計模式的一個具體應(yīng)用,滿足了軟件架構(gòu)低耦合的要求。

      c) MCK組件是整個系統(tǒng)的功能核心,負(fù)責(zé)完成系統(tǒng)大部分的任務(wù)。根據(jù)高內(nèi)聚原則,將該組件進(jìn)一步細(xì)分成8個子組件,每個子組件獨(dú)立地實(shí)現(xiàn)一個特定的功能,這些子組件包括誤差補(bǔ)償(ErrorCompensation)組件、插補(bǔ)(Interpolation)組件、超前讀(Look Ahead)組件、NC代碼解釋器(NC CodeInterpreter)組件、路徑規(guī)劃(Path Planning)組件、位置控制(Position Control)組件、刀具補(bǔ)償(ToolCompensation)組件和速度規(guī)劃(Velocity Control)組件。

      d) Kinematics組件負(fù)責(zé)正向計算和逆向運(yùn)動計算、采用幾何方法糾錯和刀具偏移量、對工件的動態(tài)檢測、在聯(lián)合坐標(biāo)系和笛卡兒坐標(biāo)系中進(jìn)行運(yùn)動學(xué)極限檢測等。

      e) PLC負(fù)責(zé)實(shí)現(xiàn)機(jī)床監(jiān)控、換刀機(jī)構(gòu)控制、夾具控制、潤滑和冷卻系統(tǒng)控制、傳感器檢測等數(shù)控系統(tǒng)的輔助控制功能。

    2 系統(tǒng)的部署架構(gòu)

      基于CCM的分布式系統(tǒng),可以通過網(wǎng)絡(luò)將若干處理器資源組織起來,并通過將系統(tǒng)任務(wù)合理地分布于各處理節(jié)點(diǎn)上來實(shí)現(xiàn)系統(tǒng)功能。相對于運(yùn)行于單機(jī)的系統(tǒng)而言,運(yùn)行在分布式環(huán)境下的系統(tǒng)的運(yùn)行能力可以隨網(wǎng)絡(luò)結(jié)構(gòu)的擴(kuò)展而進(jìn)一步增強(qiáng),并且可以避免單個節(jié)點(diǎn)過載的情況。

      對于建立在分布式環(huán)境下的系統(tǒng),系統(tǒng)組件之間的消息傳遞路徑大體分為2種:位于同一節(jié)點(diǎn)內(nèi)的組件之間的消息傳遞路徑通常為PC總線;位于不同節(jié)點(diǎn)的組件之間的消息傳遞路徑通常為網(wǎng)絡(luò)總線。前者的響應(yīng)延遲較低,因此,可以將有交互并且對交互響應(yīng)時間要求較為嚴(yán)格的組件放置于同一節(jié)點(diǎn),對交互響應(yīng)時間并無明確要求的組件則可分布于不同的節(jié)點(diǎn)。

      由于實(shí)現(xiàn)運(yùn)動控制是系統(tǒng)的主要任務(wù),并且運(yùn)動控制過程對實(shí)時性有一定的要求,因此出于對效率的考慮,將與運(yùn)動控制相關(guān)的組件即MCK、PLC和Kinematics安排在同一節(jié)點(diǎn),稱為運(yùn)動控制節(jié)點(diǎn)。運(yùn)動控制節(jié)點(diǎn)上安裝了實(shí)時操作系統(tǒng),這就使得數(shù)控系統(tǒng)可以根據(jù)各項(xiàng)任務(wù)對實(shí)時性要求的不同,為每個任務(wù)分配不同的優(yōu)先級,從而保證了對關(guān)鍵任務(wù)的及時處理。系統(tǒng)的部署架構(gòu)如圖1。

    圖1 系統(tǒng)的部署架構(gòu)

    3 組件的IDL/CIDL定義

      以HMI Server為例,對定義過程進(jìn)行描述。

      HMI Server的IDL定義如下:  component HMIServer supports  SystemService  {  provides RegisterService RegSrv;  provides NCCodeManager NCCodeMgr;  uses AuthenticationService AuthSrv;  publishes StartMotionControl StartMC;  publishes StopMotionControl StopMC;  publishes PauseMotionControl  PauseMC;  publishes NCCodeReady NCCodeRD;  publishes SystemInitiation SysInit;  };  home HMIServerHome manages  HMIServer{}。

      其中,系統(tǒng)服務(wù)面向系統(tǒng)外部的HMI Client注冊服務(wù)面向所有運(yùn)動控制組件;NC代碼管理器則面向MCK中的NC代碼解釋器組件;Home則是用于創(chuàng)建組件實(shí)例的工廠(Factory)。

      允許系統(tǒng)使用者開發(fā)適合自身需要的HMIClient也是本系統(tǒng)的一個目標(biāo),所以應(yīng)該讓系統(tǒng)使用者自主選擇HMI Client的開發(fā)技術(shù),而不應(yīng)該使HMI Client僅基于CCM,因此HMI Client只要遵循系統(tǒng)接口規(guī)范,可以使用任何技術(shù)實(shí)現(xiàn)。由于Provides/uses方式僅能用于組件之間連接的建立,因此HMI Server以支持(supports)的方式對外提供系統(tǒng)服務(wù),而注冊服務(wù)和NC代碼管理器則以提供(provides)的方式與相應(yīng)的使用者建立連接。

      由于系統(tǒng)服務(wù)中的登錄和注銷功能只是對HMI Client提供了一個訪問認(rèn)證服務(wù)的接口,因此HMI Server需要與認(rèn)證服務(wù)組件建立連接,以使用其提供的認(rèn)證功能。對于HMI Server組件,由于其狀態(tài)不需要在生存期以外進(jìn)行保存,所以沒有必要將組件定義為Entity或Process類型,并且一個組件的生存期需要超過一次客戶請求,所以Service類型也不合適。因此,要使組件在整個系統(tǒng)運(yùn)行期間保持激活狀態(tài),Session類型是最合適的選擇。

      HMI Server的CIDL定義如下:  composition session HMIServer_impl  {  home executor HMIServerHome_Exec  {   implements   CNC::HMISERVER_MODULE::H  MIServerHome;  manages HMIServer_Exec;  };  }。

    4 IDL/CIDL到C++的映射

      完成IDL和CIDL的定義后,首先,使用TAO/CIAO開發(fā)包中的Perl腳本來生成工程描述文件;然后,建立空白的實(shí)現(xiàn)文件,這樣可以使整個工程通過編譯,而具體的實(shí)現(xiàn)代碼則可在隨后逐步完善。編譯完成后,將會在各組件的工程目錄中生成映射到C++的客戶端stub、服務(wù)器端skeleton、服務(wù)器端servant等文件。在生成了組件的C++框架文件后,就可以以此為基礎(chǔ)進(jìn)行組件的具體實(shí)現(xiàn)過程。

    5 組件的實(shí)現(xiàn)

      以HMI Server為例,對組件的實(shí)現(xiàn)進(jìn)行說明。

      a) 定義每個組件executor的實(shí)現(xiàn)類,它們都位于單獨(dú)的名稱空間下,例如,HMIServer_exec_i是HMI Server組件executor的實(shí)現(xiàn)類,它定義了executor接口,規(guī)定了executor所必需實(shí)現(xiàn)的方法,包括HMI Server組件使用supports關(guān)鍵字明確支持的接口中的方法。

      由于HMIServer_Exec是一個Session類型的組件,因此HMIServer_exec_i需要對SessionComponent中的一些容器回調(diào)函數(shù)進(jìn)行重置(override)。例如,set_session_context,其具體實(shí)現(xiàn)如下:

      void  HMIServer_exec_i::set_session_context(Com  ponents::SessionContext_ptr ctx)  {  ,,  this->m_context=HMIServer_Exec_Con  text::_narrow(ctx);  }。

      b) 組件所提供的facet也需要單獨(dú)實(shí)現(xiàn),通常在facet的實(shí)現(xiàn)中保存了對相應(yīng)executor的引用,以實(shí)現(xiàn)其向exector的導(dǎo)航,在相應(yīng)的executor中則必須為receptacle提供獲取關(guān)聯(lián)的facet的/get_<facet_name>0方法。

      HMI Client這類非組件的客戶端是通過調(diào)用/provide_<facet_name>0來得到組件相應(yīng)的fac-et,而/get_<facet_name>0實(shí)際上是/provide_<facet_name>0在組件executor端的映射。

      c) 使用supports關(guān)鍵字聲明的接口是通過繼承的方式在組件executor中實(shí)現(xiàn)的,例如,HMIServer組件通過繼承的方式支持SystemService接口。

      HMI Server組件在IDL中聲明了對認(rèn)證服務(wù)組件的Authentication Service接口的使用。在具體實(shí)現(xiàn)中,HMI Server組件executor通過其上下文(Context)得到指向Authentication Service接口實(shí)現(xiàn)類的指針,從而調(diào)用其中相應(yīng)的方法,HMI Server組件的上下文在組件部署期間被創(chuàng)建,并由組件的容器在組件激活前通過容器的回調(diào)函數(shù)set_ses-sion_context進(jìn)行設(shè)置。

      對事件的發(fā)布也是通過組件上下文,例如,HMI Server作為系統(tǒng)初始化事件的事件源,其具體發(fā)布方法為:

      ::CNC::SystemInitiation_var  evt1=new ::OBV_CNC::SystemInitiation  ;  m_context->push_SysInit(evt1)。

      該事件的響應(yīng)方法,則由各接收者獨(dú)立實(shí)現(xiàn)。

      d) 定義組件home executor的實(shí)現(xiàn)類以及組件executor在DLL中的入口點(diǎn)(Entry Point),入口點(diǎn)的主要作用是創(chuàng)建組件home實(shí)例。HMIServer組件入口點(diǎn)的具體實(shí)現(xiàn)如下:

      extern  "C" ::Components::HomeExecutorBase_ptr  createHMIServerHome_Impl()  {  return new  CIDL_HMIServer_Impl::HMIServerHo  me_exec_i();  }。

    6 組件的封裝組裝及部署

      在得到了各組件的DLL實(shí)現(xiàn)后,需要對其進(jìn)行封裝與組裝,以便使系統(tǒng)能夠在分布式環(huán)境下進(jìn)行部署,系統(tǒng)使用者可以根據(jù)需要,制定不同的部署方案。

      組裝的具體工作就是為系統(tǒng)中相關(guān)的facet和receptacle,event source和event sink建立連接描述文件,這是一個遞歸的過程,最終形成完整的系統(tǒng)。本系統(tǒng)由HMI Server,MCK,PLC,運(yùn)動學(xué)、認(rèn)證服務(wù)組件組裝而成,其中MCK由8個子組件組裝而成。

      封裝過程的目標(biāo)是制作一個包括組件實(shí)現(xiàn)和組件描述的可部署的組件包,組件包是用于部署的最小單元。對于單獨(dú)的組件,需要將該組件的XML描述文件和組件的DLL文件封裝為zip格式的組件包;對于組裝而來的組件,由于它沒有獨(dú)立的組件實(shí)現(xiàn),因此,只需要為其組件描述和組件包建立關(guān)系。

      在部署階段,首先,需要建立目標(biāo)環(huán)境(TargetEnvironment)的模型,該模型描述了作為組件載體的物理資源及其拓?fù)浣Y(jié)構(gòu);然后,參照預(yù)先設(shè)計的部署架構(gòu)建立相應(yīng)的部署計劃。

      整個過程通過使用CosMIC工具完成,這樣能有效地避免手工編輯XML文件時容易出現(xiàn)的錯誤,從而提高開發(fā)效率。

    7 組件的運(yùn)行

      在CORBA體系結(jié)構(gòu)中,分布環(huán)境中的節(jié)點(diǎn)監(jiān)控進(jìn)程被稱作節(jié)點(diǎn)管理器(Node Manager),分布在某一節(jié)點(diǎn)上的一個組件的運(yùn)行,被稱作節(jié)點(diǎn)應(yīng)用程序(Node Application)。解析部署計劃,判斷計劃是否可行,并且將計劃轉(zhuǎn)換為合適的數(shù)據(jù)結(jié)構(gòu),以作為執(zhí)行管理器輸入的進(jìn)程被稱作部署計劃執(zhí)行器(Plan Launcher);根據(jù)部署計劃的解析結(jié)果,負(fù)責(zé)將系統(tǒng)各組件分布到相應(yīng)的節(jié)點(diǎn)上的進(jìn)程被稱作執(zhí)行管理器(Execution Manager)。

      部署計劃執(zhí)行器在完成解析后,會將結(jié)果發(fā)送到執(zhí)行管理器,然后執(zhí)行管理器按照計劃將系統(tǒng)各組件分布到域中各節(jié)點(diǎn)。計劃成功執(zhí)行后,各系統(tǒng)組件被激活待命,可以通過生成的IOR文件直接獲取其引用,也可以使用CORBA名稱服務(wù)進(jìn)行定位。另外,可以編寫腳本以方便整個啟動過程的進(jìn)行,系統(tǒng)啟動后,用戶就可以通過HMI Client對系統(tǒng)進(jìn)行操作和監(jiān)控。HMI Client的圖形界面如圖2。

    圖2 HMI Client的圖形界面

    8 結(jié)語

      提出了一個基于CCM技術(shù)的開放式數(shù)控系統(tǒng),并介紹了數(shù)控組件的設(shè)計、實(shí)現(xiàn)、封裝、組裝、部署及運(yùn)行的全過程。該系統(tǒng)可以更好地滿足系統(tǒng)模塊化、可重構(gòu)、可擴(kuò)展、可移植等開放性要求,對于推動組件技術(shù)在開放式數(shù)控系統(tǒng)領(lǐng)域中的應(yīng)用具有重要意義。

    (審核編輯: 智匯張瑜)

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

    主站蜘蛛池模板: 专业无机盐,化工产品检测公司,水处理剂检测公司,第三方水质检测机构—准诺检测 | 转轮除湿机,转轮除湿机,恒温恒湿机厂家_合肥铂克环境设备有限公司 | 铅板-济南鑫玉防辐射材料有限公司| 液晶拼接屏_三星46寸/55寸/LG液晶拼接屏_深圳拼接墙厂家_电视大屏幕液晶拼接_高清工业级液晶监视器 | 银联POS机_银联微信支付宝刷卡POS机_外币POS机_移动POS机办理安装——谷骐科技 | 自动超声波清洗机_五金超声波清洗机厂家_超声波模具价格_东莞劲荣自动化 | 洗车机-自动汽车洗车机-全自动洗车设备-全自动电脑洗车机-北京自然绿环境科技发展有限公司 | 校园防欺凌|视频一键式报警器|防霸凌报警柱|停车场语音对讲|商铺联网报警|应急广播音柱|居家养老一键通|盾王可视联网运营中心 | 交通标志牌-交通标牌-铝圆牌-铝三角片-铝滑槽-公路警示指示牌-方牌-高速道路反光牌毛坯-交通设施安全警示标识牌-路名指示限速限高牌-厂家加工交通标牌铝板半成品毛坯-上海吕盟铝业有限公司 | 智慧环保大数据云平台_车载走航式扬尘/恶臭/噪声污染源在线监测管控信息系统平台_环保土壤/环境监测系统云平台-奥斯恩智能科技 | 爬架网@建筑爬架网@冲孔建筑爬架网片@工地冲孔建筑爬架网片@工地冲孔建筑爬架网片厂家@工地冲孔建筑爬架网片生产厂家-安平县诺德金属制品有限公司 | 徐州户外广告,标识标牌,展陈空间,精神堡垒-徐州雅努思文化发展有限公司 | 上海钧尚电器有限公司 - Faulhaber电机 AMETEK pittman电机 AMETEK ROTRON军用航空风机 Exlar电动缸 MAE电机 MCG电机 CP电动工具 马头工具 AMCI驱动器 直流电机 减速箱 直流伺服电机,无刷电机,直线电机 直流防爆电机 防爆电机 汽车助力转向电机 EPS电机 faulhaber motor faulhaber gearbox NANOTEC电机 ELWOOD电机 PHYTRON电机 EXLAR伺服电动缸 高力矩、高性能直流电机,音圈电机,风机,直流风机,航空风机 | 腾云网-智慧网络营销服务提供商 套丝机_钢管套丝机_螺栓套丝机S8139_螺纹钢套丝机_智能套丝机价格-瑞捷机械设备有限公司 | 无锡大型数控龙门铣加工中心,精密焊接件制造,机械设备加工-无锡嘉迅机械科技有限公司 | 木屑烘干机|酒糟烘干机|果渣烘干机_郑州东鼎机械 | 智能访客系统 - 来访登记系统_微信预约系统_人员出入管理系统_访客机_人脸识别系统门禁闸机 | 内衬不锈钢复合管,大口径内衬不锈钢复合钢管,双金属复合管,内衬不锈钢复合管厂家-江苏新澎 | 金酱酒_金酱酒代理加盟招商_OEM贴牌企业定制! – 金酱酒代理加盟!茅台镇较早的酿酒烧坊,年产优质酱香白酒5000余吨,仁怀市十强白酒企业,主营主品:金酱酒、金酱陈香酒、酱香老酒等系列品牌产品 | 潍坊沃林机械设备有限公司-牵引式风送果园打药机,悬挂式风送果园喷雾机,自走式果树喷药机,车载式风送远程喷雾机-潍坊沃林机械设备有限公司-牵引式风送果园打药机,悬挂式风送果园喷雾机,自走式果树喷药机,车载式风送远程喷雾机 潍坊网络推广,临沂360推广,东营360推广,枣庄360推广,潍坊网站建设,潍坊网络公司,潍坊360搜索,潍坊APP开发,潍坊360推广,潍坊360代理,潍坊点睛网络科技有限公司 | 卡压式管件_不锈钢卡压式管件_双卡压管件_不锈钢沟槽管件_承插焊管件_温州市中达阀门管件有限公司 | 呼吸家官网|肺功能检测仪生产厂家|国产肺功能仪知名品牌|肺功能检测仪|肺功能测试仪|婴幼儿肺功能仪|弥散残气肺功能仪|肺功能测试系统|广州红象医疗科技有限公司|便携式肺功能仪|大肺功能仪|呼吸康复一体机|儿童肺功能仪|肺活量计|医用简易肺功能仪|呼吸康复系统|肺功能仪|弥散肺功能仪(大肺)|便携式肺功能检测仪|肺康复|呼吸肌力测定肺功能仪|肺功能测定仪|呼吸神经肌肉刺激仪|便携式肺功能 | 机械设备回收_二手机器回收_设备拆除回收_广州益美机械设备回收公司 | 首页 - 北京明朝万达科技股份有限公司 | 企业微信服务商-企业微信crm营销|认证-[朝阳企客通]一款企微管家服务型产品 | 小型加油机价格- 柴油加油机多少钱一台 | 全自动热敷贴(袋)温度特性检测仪-武汉伊特仪器有限公司 | 深圳市金正电器有限公司| 品牌T恤零售/批发厂商/供应商_男女式T恤生产/设计-圣达信T恤 | 深圳社区邦家政公司-保姆_月嫂_育儿嫂 _早教育婴师_家政钟点工_家政培训_家政加盟- 社区邦优质生活服务 专业、标准化、便捷、安心,一站式家庭服务平台,服务专业有保障 ! | 有源滤波器-高压无功补偿装置-高压无功补偿柜-10KV电容柜-安徽众升电力科技有限公司 | 河间市天一密封材料有限公司-回转窑密封设备,除尘过滤袋 | 一体化净水器设备-浸没式膜水处理设备-智慧水务-超滤膜-模块化净水设备-浙江华晨环保有限公司 | 气体泄漏检测仪,COD水质分析仪,RD8200管线探测仪-成都恒通兴业科技有限责任公司 | 上海办公家具_高端实木办公家具_现代智能办公家具定制厂-上海迈亚家具有限公司 | 中国(北京)国际园林绿化设备展览会 | 温州方圆仪器有限公司 工业自动化|自动化设备 - 温州方圆仪器有限公司 | 永磁变频空压机_青岛空压机_螺杆空压机_口罩专用空压机-青岛凯瑞特机电设备有限公司 | 塑料植草格_停车场植草格_消防车道植草格厂家_山东朋联建材 | 智慧园区平台_智慧园区智慧写字楼运营平台领导品牌 | 首页_01精密设备吊装,气垫搬运,半导体设备安装_苏州大方起重吊装公司 |