999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于RTX64的軟運動控制器設計與實現

2019-05-27 08:23:12松2王世勇
計算機測量與控制 2019年5期
關鍵詞:指令

楊 嘯,李 迪,李 松2,王世勇

(1.華南理工大學 機械與汽車工程學院,廣東 廣州 510640;2.深圳市旗眾智能科技有限公司 運動控制研發中心,廣東 深圳 518100)

0 引言

“中國制造2025”對制造業提出了“數字化、網絡化、智能化”的新要求[1],運動控制器作為制造業的核心技術之一,已從封閉式逐步發展為開放式[2]。開放式運動控制器主要有三種架構:PC嵌入NC、NC嵌入PC、軟控制器[3]。在智能制造的新時期,軟控制器能充分利用PC機的性能優勢,以模塊化軟件實現實時控制功能,具有可重構、可擴展、柔性化等特點,發展前景良好,成為當前的研究熱點之一,Brecher等[4]以典型廠商、研究項目為例詳細地介紹了開放式控制系統的發展與現狀;朱達宇等[5]在Linux平臺下采用RTLinux實時擴展,構建全軟件數控系統;王普等[6]研究了基于RTX的全軟件數控系統,分析測試了系統的實時性能,并構建原型系統;Yu等[7]分析了傳統數控系統的體系架構與現場總線的特點,采用組件技術設計了基于現場總線的開放式數控系統;宋利利等[8]以三軸仿真轉臺為實際應用背景,針對實時性、穩定性的系統需求,設計了基于RTX的實時控制軟件;畢魯雁等[9]設計了基于RTX的工業機器人控制系統,為機器人控制算法與功能擴展提供了基礎平臺;Wu等[10]通過“PC+Windows實時擴展”的方式探究了開放式軟數控系統的實施方案,并驗證了系統的實時性與功能。

以上研究主要集中在32位平臺下的專用控制,對非標設備控制研究較少。然而隨著控制需求的不斷提高,定制化產品、個性化設備需求的不斷出現,研究基于高性能64位平臺的通用軟控制器具有一定的現實意義。

本文提出以“Windows7 + RTX64”為主控單元,結合EtherCAT (Ethernet for Control Automation Technology)總線協議,設計并實現了64位平臺下的通用開放式軟運動控制平臺,并提供軟件開發工具包(Software Development Kit, SDK),可適用于不同的解決方案,為促進控制器實時性、擴展性、柔性化可配置的發展提供參考。

1 軟運動控制器系統設計

如圖1所示,軟運動控制器是由實時任務與非實時任務組成的多任務混合系統,采用“Windows 7 + RTX64 3.0”設計方案,在Windows下運行非實時任務,在RTX實時子系統(Real-time Subsystem,RTSS)中運行實時任務。采用EtherCAT總線協議實現工控機與驅動器從站、I/O從站等硬件設備的通訊。

圖1 軟運動控制器系統方案

作為通用運動控制平臺,軟運動控制器的模塊化功能主要包括:參數配置模塊、運動控制模塊、安全控制模塊、從站控制模塊、反饋功能模塊。在不同的工藝需求中,可基于軟運動控制器設計個性化的解決方案,實現運動邏輯自定義,具有可配置、可重構、可擴展的優點,如圖2所示。

圖2 軟運動控制器功能模塊圖

2 軟運動控制器軟件實現

2.1 RTX64系統簡介

RTX64是Interval Zero公司開發的運行在64位平臺下的實時子系統。RTX64通過擴展Windows硬件抽象層(Hardware Abstraction Layer, HAL)實現從Windows隔離系統資源,獨占處理器,保證RTSS和Windows之間的中斷隔離,確保了實時指令、RTSS調度任務等只能在RTSS獨占的處理器上運行[11]。

RTSS提供了基于優先級的搶占式調度,線程優先級可設置為0-127,共128個等級,其中127為最高優先級。RTX線程的優先級始終高于Windows線程[9]。同時,RTX擁有自己的時鐘和定時器服務,時鐘精度為100 ns,確保實時任務的可靠性。RTSS可通過IPC對象實現與Windows系統間的數據交互,通過內核同步機制保證數據同步與通訊。

RTX64作為Windows系統實時擴展的首選方案,可充分利用Microsoft Visual Studio強大的開發、調試功能,降低開發難度、提高開發效率。

2.2 分層架構設計

根據運動控制器混合多任務的特性,采用模塊化設計思想,將事件觸發、對實時性要求較低的人機交互界面(Human Machine Interface, HMI)運行在Windows應用層,將周期性執行、對實時性要求較高的運動控制內核、EtherCAT主站等運行RTSS中。

如圖3所示,軟運動控制器分層架構從上至下依次為應用層、數據交互層、實時控制層、設備層。

圖3 軟運動控制器分層架構方案

1)應用層包含HMI與應用程序接口(Application Programming Interface, API)。通過HMI可將API指令信息傳遞至數據交互層。

2)數據交互層包含動態鏈接庫(Dynamic Link Library, DLL)與三塊共享內存空間:普通指令區、緊急指令區、反饋信息區。根據執行指令的緊急與否設計了快慢雙緩沖的環形隊列方案:普通指令區存放非緊急指令,如參數設置、直線插補;緊急指令區存放緊急指令,如急停、在線改變目標位置;緊急指令區優先級高于普通指令區。此外通過反饋信息區,可監控運動控制器的狀態,如實際位置、實際速度、IO狀態等。

3)實時控制層包含運動內核、EtherCAT主站、網卡驅動。運動內核的主要功能為軌跡規劃;EtherCAT主站負責運動內核與EtherCAT從站間的數據運輸,如:驅動器從站的過程數據對象(Process Data Object, PDO)。具體流程為:運動內核將應用層的運動指令通過解析、預處理、插補計算等處理后,交由EtherCAT主站。主站將運動內核輸出數據打包,通過網卡發送下行數據幀至各個從站模塊。同時,主站也將從站上行數據幀反饋至運動內核。

4)設備層由網卡與從站模塊組成,在設計的運動控制器中采用了總線型拓撲結構,從站模塊包括:Driver從站、Box從站、I/O從站、D/A從站等。

2.3 進程間通訊

分層架構表明軟運動控制器是由人機交互界面、運動內核、EtherCAT主站三個進程組成。其中,人機交互界面運行在windows系統中,運動內核、EtherCAT主站運行在RTSS中。三者協同工作,通過使用共享內存實現進程間通訊,以互斥體確保進程間交互數據的正確性,避免競爭條件的產生。

1)人機交互界面與運動內核間的通訊:

HMI根據指令時效性高低發送至不同的指令共享內存。在運動內核解析任務中,緊急指令優先于基本指令被解析。同時運動內核周期性地將實時運動數據更新至反饋共享內存,HMI采用循環掃描的方式獲取反饋信息,并對變動信息進行更新顯示。

2)運動內核與EtherCAT主站間的通訊:

以數據結構體的形式實現交互,在結構體內部設計兩塊環形緩沖區。運動內核將指令發送至環形緩沖區rbSend,同時將標記bMCtoMaster置為真,EtherCAT主站收到標記為真的消息后,取出運動內核指令,并將標記還原。同樣的,運動內核收到EtherCAT主站反饋數據標記后,從環形緩沖區rbRece中獲取反饋數據,并將反饋標記清零,如圖4所示。

圖4 通訊結構體設計

2.4 線程間通訊

環形緩沖區具有先進先出(First In First Out, FIFO)的特點,在多線程異步協作或生產者消費者模型中被廣泛使用[12]。采用環形緩沖機制能有效解決數據生產與消費速度不匹配的問題、增強多線程的并行性能[13]、減少“數據饑餓”、避免“內存碎片”的產生。模板是C++泛型編程的重要思想,具有靈活性強、代碼復用的優勢。采用模板類設計環形緩沖區,在構造函數內進行成員變量的初始化,在析構函數內清理成員變量,確保資源的自動管理。

軟運動控制器將基于模板類的環形緩沖區與臨界資源結合使用,確保多線程間的數據保護與通訊,如圖5所示,CRingBuffer類實現了存放不同數據類型的環形緩沖區,可從緩沖區內添加、獲取一組或多組數據,并根據實際需求更改緩沖區大小。

圖5 基于模板類的環形緩沖區UML類圖

軟運動控制器采用了多線程流水線設計模式。由于控制器具有點位運動與連續軌跡運動兩種模式,故采用多生產者單消費者模型,在該模型中,當前線程既作為上游線程的消費者,又作為下游線程的生產者。若當前線程判斷存在以下情況之一:(1)上游生產者緩沖區為空;(2)下游消費者緩沖區空間不足;(3)插補計算軸的引用計數非0,則放棄當前線程執行權。否則,當前線程獲取上游緩沖區數據,經過解析、計算、封裝處理后,打包發送至下游緩沖區。此時本次線程調度完成,由運行狀態切換至休眠狀態,等待下一次被喚醒。

2.5 運動內核多線程調度方案

軟運動控制器在實時內核層采用多線程并行工作方式實現強實時任務的設計。運動內核作為控制器的核心,主要包括以下線程:主函數線程、上位機指令解析線程、連續軌跡預處理線程、插補計算線程、主站通訊線程、狀態反饋線程。根據各線程任務的緊急程度與重要性,設置了不同的調度周期與線程優先級。此外,為保證下游數據冗余、避免數據饑餓,將線程在運行狀態下設置為執行不同的次數。如表1所示為運動內核線程調度方案。

表1 運動內核線程調度方案設計

主函數線程作為第一個被創建和最后一個退出的線程,負責啟動時軟控制器的初始化工作與退出時軟控制器的清理工作;上位機指令解析線程以動態的從站數量作為每周期掃描次數,避免HMI指令流量過高造成指令阻塞。并將解析后的點位運動發送至插補計算線程、連續軌跡運動發送到預處理線程;連續軌跡預處理線程負責前瞻與小線段平滑過渡,將處理后的指令發送至插補計算線程;插補計算線程采用S型算法計算出每個周期內的路徑規劃位置,并發送至主站通訊線程;主站通訊線程負責運動控制內核與EtherCAT主站間的數據交互。

2.6 EtherCAT通訊

EtherCAT是德國倍福自動化有限公司推出的實時工業以太網協議,具有實時性強、拓撲結構靈活、有效數據率高的優點[14]。軟運動控制器基于RTX64在Windows平臺下開發了EtherCAT主站程序,采用CoE(CANOpen over EtherCAT)協議用于伺服驅動器應用層通訊,通訊周期為1ms,調度優先級為127,控制模式為周期性同步位置模式(Cyclic Synchronous Position Mode, CSP)。

EtherCAT主、從站通過狀態機切換可進入運行(OP)狀態[15]。對伺服驅動器還需通過控制字切換至使能狀態。在運行過程中,運動內核的主站通訊線程通過共享內存實現與主站的通訊,如將接收過程數據對象(Receive Process Data Object, RxPDO)、IO輸出、模擬量輸出等指令信息發送給主站,并從主站獲取發送過程數據對象(Transport Process Data Object, TxPDO)、IO輸入、手搖脈沖發生器(Manual Pulse Generator, MPG)位置等。

3 軟運動控制器流程設計

控制器在運行過程中事件流的執行與數據流的傳遞過程,如圖6所示。具體工作流程可描述為:(1)啟動在windows系統下運行的HMI后,HMI創建其與運動內核交互的共享內存,并啟動運行在RTX64系統下的運動內核;(2)運動內核創建其與EtherCAT主站通訊的共享內存后,啟動運行在RTX64系統下的EtherCAT主站,并進行參數初始化;(3)在運動內核中,根據事件流的執行順序依次創建指令解析線程、連續軌跡預處理線程、插補計算線程、主站通訊線程、反饋線程,并根據線程優先級設定、掃描周期進行線程調度;(4)進入自動加工模式后,HMI根據加工工藝需求將指令發送至指令共享內存。運動內核從指令共享內存中獲取指令信息,并將軌跡規劃信息發送至EtherCAT主站。同時,運動內核也從EtherCAT主站獲取實時運動信息發送至反饋共享內存。HMI根據反饋共享內存中的數據進行狀態顯示;(5)自動加工完成后,依次關閉運動內核、EtherCAT主站、HMI,并完成必要的資源清理。

圖6 軟運動控制器流程圖

4 實驗結果與分析

為驗證基于RTX64的軟運動控制器的性能,設計了如圖7所示的硬件測試平臺,該平臺由占美GK1037工控機、高創CDHD-0032A系列高性能伺服驅動器與電機(共12組)、深圳市旗眾智能科技有限公司的I/O從站與box從站組成。圖8為基于軟運動控制器開發的手機外殼3D打磨系統的上位機界面。使用該上位機進行實驗一與實驗二的測試。

圖7 硬件測試平臺

圖8 手機外殼3D打磨系統的上位機界面

實驗一:使用S型算法進行單軸定長運動,位移長度為6 000 pluse,起始速度、停止速度為0 pluse/ms,目標速度為50 pluse/ms,加速度、減速度為1 pluse/ms2,加加速度、減加速度為0.01 pluse/ms3。

每個通訊周期內的位置數據,如圖9所示。可見位置曲線的變化較為平滑,且運動控制內核路徑規劃位置與伺服驅動器反饋的實際運行位置偏差較小,均保持在兩個周期的指令位置內,位置偏差控制在±0.01 mm以內。表明軟運動控制器具有較好的穩定性,較高的位置控制精度。

圖9 路徑規劃位置與實際運行位置信息

實驗二:本實驗通過在上位機的自動加工界面中編寫磨削加工文件進行測試,實現手機外殼3D打磨系統的模擬效果。控制XYZ軸進行三軸聯動插補,并以X軸、Y軸為主軸,分別實現對X0至X3軸、Y0至Y3軸的軸組控制;同時進行一維直線運動,即同時控制12個驅動器從站工作。

使用RTX64提供的Tracealyzer工具,可以監控實時子系統中多線程切換、調度時序等,有助于分析程序中的資源沖突、性能瓶頸,提高系統的實時響應,如圖10所示。

圖10 線程調度時序圖

其中,PID-1015表示運動內核當前進程ID,T-64、T-69至T-73分別表示主函數線程、上位機指令解析線程、連續軌跡預處理線程、插補計算線程、主站通訊線程、狀態反饋線程的ID。11:36.317.000表示當前時間為11分36秒317毫秒0微秒。

由圖10可知,各線程在運行態的時間均在設定的調度周期內,且均有90%以上的時間冗余,證明軟運動控制器具有較好的實時性與擴展性。

5 結束語

本文采用“Windows7+RTX64”的設計方案,充分利用Windows系統資源豐富、界面友好的特性與RTX子系統強大的實時性能,設計并實現了開放性強、擴展性高的通用軟運動控制器。通過軟控制器控制所有的控制任務,并通過測試平臺進行驗證,實驗結果表明:

1)基于RTX64的軟運動控制器具有較高的穩定性與實時性,滿足同步精度與位置誤差精度的要求。

2)多線程調度時序符合設定的運動控制任務拓撲序列,滿足了運動控制功能與實時控制性能的需求,具有較好的開放性與拓展性。

猜你喜歡
指令
聽我指令:大催眠術
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
殺毒軟件中指令虛擬機的脆弱性分析
電信科學(2016年10期)2016-11-23 05:11:56
巧用G10指令實現橢圓輪廓零件倒圓角
時代農機(2015年3期)2015-11-14 01:14:29
中斷與跳轉操作對指令串的影響
科技傳播(2015年20期)2015-03-25 08:20:30
基于匯編指令分布的惡意代碼檢測算法研究
一種基于滑窗的余度指令判別算法
歐盟修訂電氣及電子設備等產品安全規定
家電科技(2014年5期)2014-04-16 03:11:28
MAC指令推動制冷劑行業發展
汽車零部件(2014年2期)2014-03-11 17:46:27
主站蜘蛛池模板: 青青草91视频| 免费无码一区二区| 久久不卡国产精品无码| 99国产在线视频| 久久国产毛片| 五月天综合婷婷| 91精品国产情侣高潮露脸| 亚洲精品午夜无码电影网| 免费国产福利| 亚洲男人天堂久久| 国产偷国产偷在线高清| 亚洲福利片无码最新在线播放| 青草视频网站在线观看| 亚洲精品无码AV电影在线播放| 亚洲香蕉久久| 女人18毛片水真多国产| 婷婷综合色| 午夜不卡视频| 99在线视频精品| 欧美视频免费一区二区三区| 69国产精品视频免费| 国产精品亚欧美一区二区三区 | 国产在线一二三区| 视频二区亚洲精品| 尤物特级无码毛片免费| 97se亚洲综合在线天天| 国产丝袜一区二区三区视频免下载| 日韩欧美视频第一区在线观看| 成人在线综合| 中文字幕无码av专区久久| 久久久久88色偷偷| 91免费国产高清观看| 丰满人妻久久中文字幕| 日韩欧美国产区| 国产在线日本| 国产三级成人| 国产亚洲欧美在线中文bt天堂| 毛片a级毛片免费观看免下载| 中文字幕首页系列人妻| 国产毛片片精品天天看视频| 永久免费精品视频| 欧美区一区二区三| 中文字幕2区| 亚洲第一成年人网站| 久久国产香蕉| 国内精品视频| 另类重口100页在线播放| 精品欧美一区二区三区久久久| 99视频精品全国免费品| 亚洲欧州色色免费AV| 色135综合网| 在线日韩日本国产亚洲| 免费看美女自慰的网站| 少妇被粗大的猛烈进出免费视频| 亚洲欧美精品在线| 在线观看亚洲精品福利片| 久久人人妻人人爽人人卡片av| 国产成人在线无码免费视频| 国产一区在线视频观看| WWW丫丫国产成人精品| 99久久国产综合精品女同| 成年A级毛片| 亚洲美女一级毛片| 免费可以看的无遮挡av无码| 伊人色天堂| 日韩精品无码免费专网站| 日韩无码视频播放| 国产美女免费网站| 亚洲女人在线| 中文字幕调教一区二区视频| 亚洲人在线| 国产成人成人一区二区| 中文字幕66页| 欧美国产精品不卡在线观看| 久久久久人妻一区精品色奶水| 18禁黄无遮挡免费动漫网站| 九色综合伊人久久富二代| 伊人久久久久久久| 亚洲国产欧洲精品路线久久| 欧美亚洲日韩中文| 国产精品第一区| 91精品国产91欠久久久久|