PMAC支持的通用G、M代碼及復合G、M代碼
4.2.1PMAC支持的通用G、M代碼PMAC卡允許執行機床類型的RS-274(G代碼)程序,PMAC將把G、M、T和D代碼作為子例程來調用[45]。當PMAC在運動程序中遇到字母G后面帶數值N的時候,便認為是調用子程序Program1000中數值N程序段。為了增加程序的可讀性,我們采用GOSUB^fm命令,此命令使運動程序跳轉型到同一運動程序段中{數值}指定的行號(N或0),當程序遇到GOSUB后的RETURN命令后馬上返回。例如,G17將導致直接跳轉至PROG1000的N17000;G117將導致程序直接跳轉到PROG1010的N17000;G973.1會導致跳至PROG1090的N73100。M使用PROGlOnl,T代碼使用PROG10n2,D代碼使用PROG10n3。大多數時候,這些代碼的數字范圍在0到99內,所以執行它們只需要PROGslOOO,1001、1002和1003被要求來執行它們。對于那些想延伸代碼數字超過100的用戶,執行它們將要求PROGslOlO、1011等等。制造商的任務是對運動程序lOnO到10n3編寫對應程序,來實現他想要的動作,程序編寫完成后便可執行對零件程序員和機器操作員不可見的程序[46]。許多代碼都已經是十分標準了,PMAC卡已經提供了這些例子,如表4-2、表4-3所示:表4-2PMAC支持的標準G代碼 G代碼 解釋 備注 G00 快速點到點定位 RAPID命令 G01 直線插補方式 LINEAR命令 G02 平面順時針圓弧模式 CIRCLE1命令 G03 平面逆時針圓弧模式 CIRCLE2命令 G04 暫停 DWELL命令 G09 精確的停止 DWELL命令 G17 選擇XY平面 NORMALK-1命令 G18 選擇ZX平面 NORMALJ-1命令 G19 選擇YZ平面 NORMALI-1命令 G40 關斷刀具半徑補償 CC0命令 G41 左刀具半徑左補償 CC1命令 G42 右刀具半徑右補償 CC2命令 G90 絕對值編程 ABS命令 G91 增量值編程 INC命令 表4-3PMAC支持的標準M代碼 M代碼 解釋 備注 M00 編程停止 STOP命令 M01 選項停止 假設輸出點Ml=l時發STOP命令 M02 程序結束 RETURN命令,返回程序頂部 M03 主軸正轉 CMD“#4J+” M04 主軸反轉 CMD“#4卜” 表4-3PMAC支持的標準M代碼(續) M代碼 解釋 備注 M05 主軸停止 CMD“#4J" M07 冷卻液打開(噴霧) 假設輸出點M7=l M08 冷卻液打開(大量) 假設輸出點M8=l M09 冷卻液關斷 假設輸出點M7=0和M8=0 M30 循環的結束程序 RETURN命令,返回程序開始處 4.2.2復合G、M代碼固定循環G代碼精工機床是一種按照事先編制好的零件加工程序自動進行高效加工的設備。G代碼作為一種通用機床語言,用來實現精工程序的編程,以便實現各進給軸的精確運動。以常用CNC加工中心精工系統深孔加工循環(G83)代碼為例進行分析研究。1.1加工中心G83代碼分析精工加工中,某些加工動作循環已經典型化[47]。例如,鉆孔、鏜孔的動作,主要由孔定位、快進、工進、快退等動作組成,典型加工動作程序已經事先定制,存儲于內存儲器中,需要時可直接調用相應G代碼即可,從而簡化編程工作。常用立式加工中心精工系統固定循環G代碼的程序格式主要有:數據形式、返回點平面、孔加工方式、孔位置數據、孔加工數據和循環次數[48]。現在以深孔加工循環(G83)代碼為例進行介紹,其程序格式如下:G98(G99)G83X_Y_Z_R_P_Q_F_K_式中第一個G代碼(G98或者G99)為返回點平面G代碼,G98為返回初始平面,G99為返回R點平面。X、Y:孔的位置。Z:絕對編程時是孔底Z點的坐標值;增量編程時是孔底Z點與R點的距離。R:絕對編程時是R點的坐標值;增量編程時是初始點與R點距離。P:刀具在孔底暫停時間。Q:為每次進刀量。F:鉆孔進給速度。K:循環次數。G83加工固定循環如圖4-5所示。刀具先快速定位至X、Y所指定的坐標位置,再快速定位至R點,接著以F所指定的進給速率向下鉆削Q所指定距離后(Q必為正值,用增量值表示),快速退刀回R點,再向下快速定位于前一切削深度上方距離d處(由系統內部參數設定),再向下鉆削Q+d所指定的距離后,再快速退回R點,以后依此方式一直鉆孔到Z所指定的孔底位置[49]。此處的“d”表示刀具間歇進給時,每次下降由快速轉為切削進給前這一點與前一次切削進給下降的點之間的距離,由系統內部參數設定。1.2G83代碼程序開發現在以常用線軌加工中心控系統深孔加工循環(G83)代碼為例,對此代碼進行程序編寫。其關鍵程序見附錄一。G83代碼程序編寫的大致流程圖如圖4-6所示。2.3基于PMAC的精工常用坐標系的實現根據精工加工中心坐標系命令G16、G43、G44、G52、G53、G54、G55、G56、G57、G58、G59的特點,需應用矩陣轉換中的平移矩陣,即需將對刀測得的坐標偏移量或者加工程序輸入的數值賦給平移矩陣中的Dll、D12、D13,而Dll、D12、D13是由連續的三個Q變量賦值的。根據坐標系命令G20、G21、G50、G51.1、G68的特點,需要應用矩陣轉換中的旋轉矩陣,即將加工程序輸入的數值賦給旋轉矩陣中的R11-R33,而R11-R33是由連續的九個Q變量賦值的。現以G54、G51為代表說明具體實現方法。命令G54的格式:G54X_Y_Z_我們只需將對刀測得的坐標偏移量XYZ后面的數值賦給Q40、Q41、Q42,然后程序執行ADIS40即可。命令G51的格式:G51X_Y_Z_P_,只需將P的數值賦給旋轉矩陣中的Q50、Q54、Q59,其余Q變量為0,然后程序執行AROT50即可。如果既用到旋轉矩陣又用到平移矩陣,則將兩者結合用即可。其關鍵程序見附錄一。無論工件在何種坐標系下進行加工,其坐標值都要轉化為機床機械坐標系上的坐標值5()。可做這樣的計算:工件在機床機械坐標系上X的坐標值=X偏置+刀具長度補償+刀具半徑補償+刀具磨耗+X旋轉后的坐標+X鏡像后的坐標+X經極坐標轉換后的坐標+程序中的X坐標。M代碼M代碼作為一種通用機床語言,用來實現精工程序的編程,當多次運行相同的軌跡時,可以將這段軌跡編成一個獨立的程序存儲在機床的存儲器當中,被別的程序所調用,這樣的程序叫做子程序[52]。子程序執行順序如圖4-9所示。指令格式:M98P—L—;M99;解釋:P:子程序號,如:P100;L:調用次數。PMAC卡允許執行機床類型的M代碼程序,PMAC將把M代碼作為子例程來調用,需要程序執行其子程序然后返回執行程序的下一行時,可利用CALL指令來實現。CALL命令使運動程序跳轉到另一個運動程序,當程序遇到RETURN命令后馬上返回。輸入到PMAC的子程序與主程序一樣,用PROGn作標號(這樣一個程序可以像調用子程序一樣調用其它程序)。PROG的標題號n為CALL提交后的值:CALL7將執行PR0G7并返回。緊接在CALL后的值可以包含小數。如果沒有小數部分,則被調用的程序段從頭開始。如果存在小數部分,則被調用的程序跳轉到由小數部分指定標號的行(如果該標號不存在則PMAC會產生錯誤并停止執行程序)。TurboPMAC使用五位小數作為行標號,如果位數不足,PMAC將自動補零。例如,CALL35.1被翻譯為CALL35.10000,這將使跳轉到程序35的標號N10000處執行[46]。M98命令關鍵程序如下:N98000read(P,L)If(Q100&800>0)cishu=q112//子程序調用次數Elseq112=1EndIfIf(Q100&8000>0)cxhao=q116//P程序號EndIfp1000=1While(p1000!>q112)call(cxhao)p1000=p1000+1EndWhilereturnN99000dwell1return本文采摘自“基于PMAC的加工中心開放式精工系統研究”,因為編輯困難導致有些函數、表格、圖片、內容無法顯示,有需要者可以在網絡中查找相關文章! 本文由海天精工整理發表文章均來自網絡僅供學習參考,轉載請注明!