<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于MPC08運動控制器實現開放式數控系統的設計方案

電子設計 ? 來源:伺服控制 ? 作者:張勇 ? 2021-03-28 10:38 ? 次閱讀

在計算機技術飛速發展的今天,數控系統由傳統的專用型封閉式系統向靈活的開放式數控系統轉變已成為一種必然趨勢。與傳統的封閉式數控系統相比,開放式數控系統有以下優勢:

可伸縮性,CNC系統的功能、規模(硬件或軟件模塊)可根據具體應用靈活增減;

可移植性,系統的功能軟件與運行平臺無關,能運行于不同供應商提供的硬件平臺上;

可擴展性,開發者能有效地將自己的軟件集成到NC系統中,形成自己的專用系統;

可互操作性,通過標準化接口,通信和交互機制,使不同功能模塊獲得相互操作能力,協調工作。

目前開放式數控系統主要形式是基于PC的NC,即在PC的總線上插上具有NC功能的運動控制器完成實時性要求較高的NC內核功能。本次課題基于步進機電有限公司的MPC08運動控制器就是一款能滿足數控系統功能要求,性價比高的通用運動控制器,課題根據鉆床的工藝在此基礎上進行數控系統軟件的研究。

1 系統總體結構

本系統數控鉆床共有8個軸,分別為X,Y軸和Z1,Z2,Z3,Z4,Z5,Z6軸,其中X,Y軸控制平面兩個方向的定位, Z1,Z2,Z3,Z4,Z5,Z6則控制下鉆的進給量,XYZ可聯動控制。加工時, 根據要加工工件上的孔坐標、孔直徑、孔深等參數, 編好工件的加工文件, 系統按加工文件控制機床完成鉆削加工。

為了對機床8個軸的進行控制,我們采用了MPC08運動控制器作為系統控制的內核,插在PC機的PCI插槽中。工業PC機作為主控計算機來完成與MPC08控制器的通訊以及上層系統操作、調度管理、故障診斷、參數輸入等非實時性任務。

MPC08是一款開放式通用運動控制器,所有指令均為立即指令,適合于PCB鉆床的高速度,定位準的點位運動,并具有足夠的專用和通用的IO通道供機床控制使用,軟件方面提供了豐富的運動控制函數,以供用戶在Windows平臺自主開發,構建所需要的數控系統。我們將MPC08插入PC的PCI插槽里,借助它完成整個系統的控制。

IO及反饋系統使用MPC08的專用和通用的輸入和輸出通道進行各種機床電器IO信號的連接與控制;驅動和伺服步進電機單元則是接收MPC08發出的脈沖及方向信號完成需要的運動。

變頻器和主軸轉動控制部分是利用PC機的串口進行和變頻器的通訊,由此完成主軸轉速的控制,此控制則是獨立于MPC08之外。

2 軟件結構設計

為了滿足伸縮性,移植性,擴展性和互操作性的要求,軟件采用了模塊化設計的思想,利用VisualC++6.0開發工具在Windows2000操作系統上開發而成。軟件總體分為兩大部分,人機界面交互部分和系統控制部分。

1)人機界面 人機界面模塊主要完成整個數控系統的狀態顯示和需求參數的輸入,除此以外應該使界面友好,使用便捷。本程序設計借助了MFC庫中CWnd類和CButton按鈕類的強大功能,利用這兩個類的成員函數以及類派生的子類構造了友好便捷的界面。界面包括有加工過程中重要參數的顯示,主要功能按鈕和加工圖形的顯示。其中參數顯示有各軸的坐標,工作行程,下止點,刀具代號,直徑,偏移以及加工的孔數記錄,所在刀庫的記錄等;功能按鈕有啟動,回原點,回停車位,導入文件,刀具參數,刀具管理,加工參數等,其中刀具參數,刀具管理和加工參數按鈕還可以打開其他界面完成系統功能;圖形顯示則位于界面的中間部分用于顯示加工PCB孔的圖形,加工過程中還可以動態顯示加工到某個孔。

2)加工文件 加工文件功能模塊完成對外部輸入進來的加工文件(PCB行業通用的Excellon格式文件)進行譯碼,將加工文件的信息轉化為控制系統需要的數據形式。軟件具體實現辦法是將文件的每一行進行解讀,根據解讀出來的信息將每個要加工的刀具節點數據放在一個WORK_NODE結構里面,對應在該刀具下的孔加工數據放在WORK_NODE里面的RECORD_NODE結構體內,最后統一將每一個刀具節點存放到以WORK_NODE為類型的加工鏈表gWorkList里。其中WORK_NODE和RECORD_NODE的數據結構如下:

基于MPC08運動控制器實現開放式數控系統的設計方案

3) 加工參數管理 本功能完成在機床控制過程中各參數的管理,包括機器的軸參數,系統參數,加工參數,刀具參數,機床坐標參數。為了方便管理和使用,以上參數程序里都定義全局變量存放,使用時對這些變量操作即可以進行各參數的讀取和修改。每個參數變量都以一個自定義的結構體為類型,軸參數類型內包括每個軸的使能,最大速度,最大加速度,脈沖當量,回零速度,回零方向,反向間隙等;系統參數包括插補精度,到位檢測周期,刀庫坐標位置,深度檢測深度,深度檢測速度;加工參數包括進給速度,提升速度,工作行程,主軸轉速,換刀方式,斷鉆檢測允許范圍;刀具參數包括刀具的類型,直徑,壽命,已使用壽命,所在刀庫號;機床坐標參數則包括機床的絕對坐標和相對坐標參數。所有這些參數除了絕對和相對坐標參數外都需要在加工前由使用者按需求輸入,加工過程中根據這些設置的數據進行運動。下面是軸參數的數據結構例子:

typedef struct _AXIS_PARAM_SET

int Installed; //軸是否安裝:TRUE——安裝

int Enable; //軸是否有效

int HomeDir; //機床回零方向:1——正向,-1——反向,0——無效

double Interval; //反向間隙

&nb, sp;&n, bsp; double MaxSpeed; //最大速度(mm/min)(A)

double AccelSpeed; //最大加速度(mm/min︿2)3600000

double PulseFactor; //脈沖當量(mm)

long PulseUp; //電子齒輪分子

long PulseDown; //電子齒輪分母

long PulseDir; //反饋方向

int SRatio; //S型加速度曲線系數

double HomeSpeed; //回零速度

double HomeCheckDis; //回零檢測長度

double HomeOffsetDis; //回零后的移動距離

double DepthCheckDis; //深度檢測的下降距離

}AXIS_PARAM_SET,*PAXIS_PARAM_SET;

4)運動與換刀控制 運動與換刀控制是鉆床運動的核心部分,完成鉆床的孔加工(包括啟動,定位,下鉆,提升),回零,回停車位和換刀的動作。本模塊的代碼都在專門建立的運動控制線程PubWorkThreadHandler(LPVOID pParam)里面執行。

a、孔加工 當用戶加工準備就緒,按下啟動加工的按鈕的時候,線程開始自動讀取加工鏈表gWorkList里面已經經過譯碼的數據,通過已知數據信息程序按照加工參數管理模塊設定的速度發送運動指令給MPC08運動控制器,控制器發出脈沖使機床快速運動并定位到該孔坐標,接著以給定的下鉆速度和下鉆深度進行孔加工,然后再以給定的速度提升,提升的同時迅速定位到下一個加工孔的坐標位置。

b、回零 準確的回零對機床的定位和加工起著重要的作用,本系統設計的回零方式借助于伺服電機的Z脈沖,當按下回零按鈕后,程序的運動控制線程即按相應步驟發出回零指令給控制器,使機床準確的回零。設計的回零步驟為:各軸快速朝原點方向運動à碰到原點開關后緩停à緩停后反向低速運動à當接收到伺服電機的Z脈沖信號后停下來。機床即以停下來的坐標位置作為機床的原點。程序里面對每個步驟定義了一個宏,以此來區分加工到那一步驟。

c、回停車位 當按下回停車位的按鈕后,發出回停車位的指令,使機床的XY軸分別運動到加工前設定到加工參數管理模塊的停車位坐標。

d、換刀 鉆床加工PCB板的時候需要加工不同直徑的孔,這就要求在加工過程中當加工完一種直徑的孔以后進行換刀,取到另外一直徑的刀具進行加工。本系統的換刀方式有手動換刀和自動換刀兩種。手動換刀就是在加工完一直徑的孔后或刀具壽命到了以后回到停車位,由加工者手動把原刀具取下來并換上新的刀具然后恢復加工。手動換刀效率比較,現在的機床一般都采取自動換刀,本次設計的換刀流程如下:

Z軸回零——壓腳抬起——X軸移動到原刀庫的位置——Y軸移動到原刀庫的位置——Z軸移動到換刀位置——張夾頭放刀——延時——Z軸回零——XY軸回到停頓位置——檢查刀具放回了——Z回零——回到停頓位置——X軸移動到目標刀具的位置——Y軸移動到目標刀具的位置——Z軸移動到換刀位置——合夾頭取刀——延時——Z軸回零——回到停頓位置——檢查刀具取到了——Z軸回零——XY軸回到停頓位置——壓腳放下

換刀的軟件實現同樣是在運動控制線程里按以上步驟一步步完成,每個步驟類似回零步驟一樣定義了一個宏來區分。當整個換刀流程執行完畢以后,機床繼續加工剩余的孔。

5)自診斷檢測 自診斷模塊對機床的調試,檢測,狀態監視起著重要的作用。通過本模塊,使用者可以隨時的檢測到機床電器信號狀態,包括機床輸入到控制器的信號和使用者通過控制器輸出到機床的控制信號。程序里是通過另一個輔助線程PubMonitorThreadHandler不斷的查詢MPC08控制器的狀態寄存器,并構建如下的對話框顯示出來。

3 應用

該系統利用了MPC08運動控制器的強大功能,并在模塊化思想指導下進行軟件編程,最終有效的應用于PCB鉆床的控制系統中,運行效果良好,并且通過了在PCB數控機床中高精度和速度的加工測試,加工使用0.1-0.3mm大小的刀徑,孔間距為0.5mm,其各軸的最大速度,以及每分鐘的鉆孔個數均達到了預期的要求。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    112

    文章

    15301

    瀏覽量

    171944
  • 計算機
    +關注

    關注

    19

    文章

    6690

    瀏覽量

    85004
  • 數控系統
    +關注

    關注

    5

    文章

    231

    瀏覽量

    23957
收藏 人收藏

    評論

    相關推薦

    怎么建立開放數控系統模型?

    “NC嵌入PC”的開放式數控系統結構模型,充分利用了PC機的豐富資源(內存空間大、硬盤容量大和高速運算功能的CPU),使這種結構模式成為開放數控系統的主流設計。DSP因其高速、強實時
    發表于 08-26 07:03

    什么是開放式數控系統?有哪些應用?

      數控系統作為數控機床的核心裝備,對國民經濟的一些重要行業(如國防軍工、航天航空、it行業、汽車、輕工、冶金、醫療等)的發展起著越來越重要的作用。開放式、智能化、網絡化成為當代數控系統
    發表于 09-29 08:02

    怎么采用CPLD實現開放式四軸運動控制器的設計?

    本文提出了一種不采用在板處理而以PC機微處理控制核心的開放式四軸運動控制器,該
    發表于 04-15 06:09

    求一款新型開放式數控系統設計方案

    本文介紹一種采用無線通信技術的新型開放式數控系統。
    發表于 06-02 06:57

    資料下載;于LINUX的開放式結構數控系統組成及特點

    于LINUX的開放式結構數控系統組成及特點作者:張承瑞 山東大學機械學院 1.系統組成該系統是一個基于標準PC硬件平臺和LINUX與RTLinux結合的軟件平臺之上,設備驅動層采用現場
    發表于 07-05 06:25

    基于LINUX的開放式結構數控系統有哪些特點

    基于LINUX的開放式結構數控系統是由哪些部分組成的?基于LINUX的開放式結構數控系統有哪些特點?
    發表于 10-11 09:15

    開放式數控系統硬件平臺設計

    針對“PC+運動控制器”的開放式數控系統,分析了開放式數控系統硬件平臺設計總體
    發表于 06-03 09:35 ?23次下載

    基于PC的開放式數控系統的研究與開發

    在探討了開放式數控系統開放途徑的基礎上,提出了一種運行在PC機上,基于DSP的完全開放數控系統,闡述了這種
    發表于 08-24 15:24 ?12次下載

    基于MPC5200的運動控制器設計

    分析并研究了基于Mpc5200 的運動控制器開放式數控系統的設計應用。由于Linux 不具有硬實時性,在
    發表于 08-27 09:01 ?22次下載

    開放式數控系統硬件平臺設計

    針對“PC+運動控制器”的開放式數控系統,分析了開放式數控系統硬件平臺設計總體
    發表于 10-13 09:05 ?73次下載

    基于PC的開放式數控系統體系的應用分析

    隨著計算機技術的發展,數控系統正在發生著日新月異的變化。本文介紹了開放式數控系統的特征以及比較了當前開放式數控系統的幾種模式。通過目前3 種
    發表于 01-11 17:11 ?25次下載

    基于Windows95環境下的PC開放式數控系統

    在引入開放式數控系統概念的基礎上,討論了開放式PC CNC 的各種實現方法。最后著重闡述了在Windows95 環境下,利用面向對象的開發方法,開發
    發表于 09-26 15:10 ?16次下載
    基于Windows95環境下的PC<b class='flag-5'>開放式</b><b class='flag-5'>數控系統</b>

    基于Windows CE.NET的開放式數控系統研究

    本文介紹了開放式數控系統的產生背景、特點及軟硬件平臺現狀研制基于Windows CEnet平臺 的開放式數控系統介紹了基 Windows CE1 net的
    發表于 04-18 11:28 ?2次下載

    開放式數控系統控制軟件的研究與開發

    開放式數控系統控制軟件的研究與開發,下來看看。
    發表于 05-03 09:38 ?11次下載

    什么是開放式數控系統?

    開放式數控系統給出如下定義:開放式數控系統本質一個具備軟件平臺化、功能模塊化、界面組態化內部屬性和可移植性、可伸縮性、互操作性外部特征,支持用戶根據需求進行
    的頭像 發表于 02-08 10:54 ?2855次閱讀
    什么是<b class='flag-5'>開放式</b><b class='flag-5'>數控系統</b>?
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>