技術頻道

      全工位研磨機超長控制程序的簡化處理

        摘要:本文介紹了在開發全工位滑槽研磨機的運動程序過程中利用宏程序,子程序,變量計算簡化加工程序的關鍵技術。對基于數控系統的專用機床需要多流程選擇時的加工程序具有指導意義。

        關鍵詞:多流程程序選擇、宏程序、子程序、變量計算

        1.全工位滑槽研磨機的運動控制要求

        某客戶的“全工位滑槽研磨機”配用三菱M70B數控系統,伺服系統為2軸。伺服驅動器為MDS-D-SVJ3-20,伺服電機為HF204。

        圖1 “全工位滑槽研磨試驗機”的運動控制要求

        (1)能實現從“當前滑槽”向“任意下一滑槽”的運動。“任意下一滑槽”由操作面板上的組合按鍵選定。

        (2)在X方向為快進定位,在Y方向為研磨工進。

        (3)“運行距離”,“運行速度”能夠任意設定,定位精度0.001mm。

        (4)能夠任意選擇“滑槽位”;

        (5)能夠任意設定“磨削次數”

        (6)能夠實現點動,手輪,自動一鍵啟停,緊急停止,中斷運行等功能。

        2.對研磨工藝運動邏輯的分析:

        “全工位滑槽研磨試驗機”運動路徑如圖2所示:

        A型產品共有滑槽50道。B型產品共有滑槽100道。每道滑槽之間的距離不等。

        研磨工藝要求:能從“當前滑槽”向“任意下一滑槽”的運動。

        B型產品共有滑槽100道。如果按這一要求。在任一滑槽位置都可能有100種運動流程可選擇。這樣共有的“運動流程”為100*100=10000種。

        如果按照常規的運動程序編制方法編制的研磨加工程序如基本加工程序P100。在P100中程序由下列部分組成

        圖2.基本加工程序P100方框圖

        基本加工程序P100

        (1)當前位置判斷程序步100。

        N1 IF[#1132EQ1]GOTO1001;

        ……

        .N99 IF[#1132EQ99]GOTO1099

        N100 IF[#1132EQ100]GOTO1100-

        #1132是表示工作臺當前位置的變量。由PLC程序處理后發出。以上程序是判斷工作臺的當前位置。當前位置在1#滑槽,程序跳到N1001步。

        當前位置在99#滑槽,程序跳到N1099步。

        當前位置在100#滑槽,程序跳到N1100步。

        有關“當前位置判斷”的程序步為100步。

        (2)當前位置在任一滑槽,都對應100種“下一加工槽位”選擇指令

        N1099.IF[#1132EQ99]GOTO 2001

        ……

        “#1132變量”是選擇指令,由操作面板選擇經PLC程序處理后發出。選擇指令=99槽,程序跳到N2099步。

        100個槽位對應100種選擇指令,共計判斷條件10000步

        (3)不同流程的加工程序10000個。每個加工程序12步。則加工程序長度12*10000=120000步

        總加工程序步數

        =條件判斷程序10100步+運動程序步數120000步

        =131000步。

        這樣100道滑槽的研磨工藝加工程序總步數可能達到130000步。基本加工程序P100的加工程序太長。編程困難,程序的安全系數也太低了。這一程序實用性不強。不過這是分析加工程序的基礎。

        3.對加工程序的簡化:

        3.1利用宏程序功能實現研磨工藝的簡化

        簡化運動程序最有效的方法之一是使用子程序和宏程序;

        凡是運動動作相同的一組運動都可以編制成為“子程序”,凡是可以用變量代替具體數據的程序可以編制成宏程序。按照這個原則,仔細分析每一研磨運動,發現其動作順序是相同的,研磨程序為P200:

        研磨程序P200

        N1 M8-----開冷卻液;

        N2 M3------磨頭啟動旋轉

        N3 G90 G1Y0F2000-----研磨退回Y0位;

        N4 M9-----關冷卻液

        N5 M5------關閉磨頭旋轉

        N6 G90 G0Xx------運行到下一X位置

        N7 M8-----開冷卻液;

        N8 M3------磨頭啟動旋轉

        N9 G90 G1YyF2000-----研磨下一滑槽;

        N10 M9-----關冷卻液

        N11 M5------關閉磨頭旋轉

        N12 M30-----END程序結束。

        只是在“N6 G90G0Xx------運行到下一X位置”和

        “N9 G90 G1Yy F2000-----研磨下一滑槽;”中的X軸移動距離和Y軸移動距離在不同的“研磨加工流程中”各不相同。如果將“X軸移動距離和Y軸移動距離”用變量表示。在選擇不同的流程時給變量賦予不同的“數值”。這樣就可以將研磨運動程序編制成為一“宏程序”;在適當的程序步賦予不同的變量并調用宏程序就可以完成研磨動作。

        根據以上方案編制出“研磨加工宏程序P9200”

        研磨加工宏程序P9200

        N1 M8-----開冷卻液;

        N2 M3------磨頭啟動旋轉

        N3 G90 G1Y0F2000-----研磨退回Y0位;

        N4 M9-----關冷卻液

        N5 M5------關閉磨頭旋轉

        N6 G90 G0X#1------運行到下一X位置

        N7 M8-----開冷卻液;

        N8 M3------磨頭啟動旋轉

        N9 G90 G1Y#2 F2000-----研磨下一滑槽;

        N10 M9-----關冷卻液

        N11 M5------關閉磨頭旋轉

        N12 M30-----END程序結束。

        在此宏程序中:“X軸移動距離=#1(變量)

        Y軸移動距離”=#2(變量)

        這樣,就可以將120000步運動程序簡化為10000條的宏程序調用指令。簡化后程序量僅為簡化前程序的8%.

        3.2不可以簡化的程序部分:

        由于存在10000條運動流程,每一流程中,X軸Y軸的運行距離不相同。即使采用了宏程序的簡化方案,但變量的設置不能簡化,所以這10000步變量設置程序不能簡化。必須有規律的編寫程序。

        3.3運動流程判斷條件程序的簡化:

        在程序中用變量“#1132”表示工作臺當前位置;“#1133”表示“下一指令選擇狀態”.

        按照基本程序P100的編制方法,用于“運動流程選擇”的程序步就達到10100步,也需要簡化。

        以“當前位置”的判斷為例:

        (1)“當前位置”共有100點,在加工程序中的常規判斷程序有100步。如果采用一循環程序,用一變量I從1—100進行循環比較,就可以判斷“當前位置”,而且利用“GOTO”指令可以跳出循環,跳到指定的“程序步”。“程序步”也可以用變量指定。按這樣的思路,編制了循環比較宏程序如下:

        P300

        N1 WHILE [ILE100] DO 1

        N2 #1000=I*100------(制作步序號變量)

        N3 IF[#1132 EQ I]GOTO#1000--可以跳到循環之外選定的步序號

        N4 I=I+1;

        N5 END 1

        這樣將常規100步比較程序簡化為5步的循環比較程序。

        (2)把判斷“下一指令選擇狀態”的程序做同樣處理,可以將常規10000步比較程序簡化為500步的循環比較程序

        這一部分,簡化后程序僅為簡化前程序的5%。

        經過第一次簡化后的程序步數

        1當前位置判斷程序=5步

        2運動流程選擇判斷程序步=500步

        3運動變量設置及宏程序調用程序步=10000步

        4研磨運動程序步=12步

        總步數=10517步。經過第1次簡化。

        簡化程序僅為“常規基本程序”的8%。可以說是大大簡化的加工運動程序。

        4.對加工程序的再次簡化:

        由于

        (1)運動變量設置及宏程序調用程序步=10000步

        (2)研磨運動程序步=12步

        已經不可簡化。

        還可以做進一步簡化的就是“運動流程判斷條件”

        而“運動流程判斷條件”實際上是“當前位置”和“下一指令選擇”兩種條件的組合;

        而“當前位置”和“下一指令選擇”兩種條件實際上已經在PLC程序中給出。(即變量#1132和#1132已經確定)。這樣問題就簡化為:在已知“當前位置”和“下一指令選擇”的條件下:如何選擇“運動變量設置及宏程序調用程序的順序號”。

        4.1運動變量設置及宏程序調用子程序

        可以將“運動變量設置及宏程序調用程序”單獨制作成為一“子程序”。這個子程序共有10000步;

        其“順序步號”如果按一定規律設置:

        “順序步號”=(“當前位置變量”*100)+“下一指令選擇變量”

        “順序步號”=(#1132*100)+#1133---------(式1)

        則“運動變量設置及宏程序調用程序”P9100(共10000步)如下:

        P9100

        N0101 G65P9200A*B*-----------(在第1槽位選擇第1槽)

        N0102 G65P9200A*B*-----------(在第1槽位選擇第2槽)

        N0199 G65P9200A*B*-----------(在第1槽位選擇第99槽)

        N0200 G65P9200A*B*-----------(在第1槽位選擇第100槽)

        …….

        N0201 G65P9200A*B*-----------(在第2槽位選擇第1槽)

        N0202 G65P9200A*B*-----------(在第2槽位選擇第2槽)

        N0299 G65P9200A*B*-----------(在第2槽位選擇第99槽)

        N0300 G65P9200A*B*-----------(在第2槽位選擇第100槽)

        ………..

        N9901 G65P9200A*B*-----------(在第99槽位選擇第1槽)

        N9902 G65P9200A*B*-----------(在第99槽位選擇第2槽)

        N9999 G65P9200A*B*-----------(在第99槽位選擇第99槽)

        N10000 G65P9200A*B*-----------(在第99槽位選擇第100槽)

        N10001 G65P9200A*B*-----------(在第100槽位選擇第1槽)

        N10002 G65P9200A*B*-----------(在第100槽位選擇第2槽)

        N10099 G65P9200A*B*-----------(在第100槽位選擇第99槽)

        N1010 0G65P9200A*B*-----------(在第100槽位選擇第100槽)

        P9100程序每一步看起來都相似,G65 P9200是調用宏程序P9200指令。只是每一宏程序的變量A、B不相同。A----1#變量。B----2#變量。Aa,Bb是對應于不同加工程序的X軸、Y軸移動距離,每一“研磨加工程序”的變量A、B必須預先設置。這就是P9100程序不能再被簡化的原因。

        4.2P9100程序的“順序步號”

        “順序步號”=(#1132*100)+#1133---------(式1)

        這樣設置是為了能夠有規律的檢索到相關的程序步。也是簡化程序的關鍵之一。

        在編制完成“運動變量設置及宏程序調用程序”P9100后,余下的問題是如何選擇其中的程序號

        4.3“順序步號變量”

        將“順序步號”設置成為變量,這樣就可以在執行“子程序調用”時直接設定調用子程序的某一步。

        N30#1500=(#1132*100)+#1133;----#1500是P9100中“順序步號”(P9100中的“順序號”已經按此公式設置)

        這樣在簡化程序的過程中,先將10000步程序簡化為505步,現在又簡化為1步。徹底的簡化了程序。

        5.主加工程序

        經過兩次簡化和對不可簡化程序的判斷,最后編制出主加工程序如下:P800

        P800----主加工程序

        N10 IF[#1133EQ0]GOTO90-----(無選擇指令判斷:如果沒有選擇“下一位置指令”,程序結束。

        N20 IF[#1133EQ#1132]GOTO90----(同號選擇判斷--如果選擇的“下一運動位置”與“當前位置相同”,程序結束。

        N30 #1500=(#1132*100)+#1133;----#1500是P9100程序中“順序號”(P9100中的“順序號”必須按此公式設置)

        N40 M98 P9100H#1500-----調用子程序P9100的H順序段。H----P9100中“順序號”

        N90 M30 END

        整個主程序雖然只有4步,但包含了一次“子程序”調用。在“子程序”中又包含了一次“宏程序”調用。

        本程序對應可能的10000個不同的“研磨工藝”,程序步數只有10020步。實現了研磨運動程序的最簡化。主程序只有4步。各程序便于分析,測試,查找。是利用宏程序編制加工工藝的典型方法。

      文章版權歸西部工控xbgk所有,未經許可不得轉載。

      主站蜘蛛池模板: 国产视频一区二区在线观看| 大香伊人久久精品一区二区| 日本一区二区不卡视频| 人妻无码视频一区二区三区| 夜夜精品无码一区二区三区| 亚洲一区精彩视频| 国产精品视频第一区二区三区| 精品国产一区在线观看| AA区一区二区三无码精片| 日韩精品无码一区二区视频| 一区二区在线视频免费观看| 国产精品美女一区二区| 一区二区三区视频在线播放| 99久久精品日本一区二区免费| 蜜桃传媒视频麻豆第一区| 精品日本一区二区三区在线观看| 在线观看国产一区二区三区| 精品久久久久久无码中文字幕一区| 亚洲色偷偷偷网站色偷一区| 亚洲无圣光一区二区| 精品人妻系列无码一区二区三区| 无码av免费一区二区三区| 日韩精品无码一区二区三区不卡 | 无码人妻一区二区三区在线水卜樱 | 国产伦精品一区二区三区免.费| 一区二区无码免费视频网站| 国产精品高清视亚洲一区二区| 国产免费一区二区三区| 亚洲色精品VR一区区三区| 天堂一区人妻无码| 夜夜精品视频一区二区| 国内精品视频一区二区三区| 日韩一区在线视频| 国产高清在线精品一区二区| 国产一区二区三区高清在线观看| 在线精品亚洲一区二区三区| 日韩人妻不卡一区二区三区 | 亚洲变态另类一区二区三区 | 日本精品一区二区三区四区| 国产一区二区三精品久久久无广告| 日韩综合无码一区二区|