時(shí)間:2012-09-26 12:10:40來源:徐天奇
摘要:本文介紹了在開發(fā)全工位滑槽研磨機(jī)的運(yùn)動(dòng)程序過程中利用宏程序,子程序,變量計(jì)算簡(jiǎn)化加工程序的關(guān)鍵技術(shù)。對(duì)基于數(shù)控系統(tǒng)的專用機(jī)床需要多流程選擇時(shí)的加工程序具有指導(dǎo)意義。
關(guān)鍵詞:多流程程序選擇、宏程序、子程序、變量計(jì)算
1.全工位滑槽研磨機(jī)的運(yùn)動(dòng)控制要求
某客戶的“全工位滑槽研磨機(jī)”配用三菱M70B數(shù)控系統(tǒng),伺服系統(tǒng)為2軸。伺服驅(qū)動(dòng)器為MDS-D-SVJ3-20,伺服電機(jī)為HF204。
圖1 “全工位滑槽研磨試驗(yàn)機(jī)”的運(yùn)動(dòng)控制要求
(1)能實(shí)現(xiàn)從“當(dāng)前滑槽”向“任意下一滑槽”的運(yùn)動(dòng)。“任意下一滑槽”由操作面板上的組合按鍵選定。
(2)在X方向?yàn)榭爝M(jìn)定位,在Y方向?yàn)檠心スみM(jìn)。
(3)“運(yùn)行距離”,“運(yùn)行速度”能夠任意設(shè)定,定位精度0.001mm。
(4)能夠任意選擇“滑槽位”;
(5)能夠任意設(shè)定“磨削次數(shù)”
(6)能夠?qū)崿F(xiàn)點(diǎn)動(dòng),手輪,自動(dòng)一鍵啟停,緊急停止,中斷運(yùn)行等功能。
2.對(duì)研磨工藝運(yùn)動(dòng)邏輯的分析:
“全工位滑槽研磨試驗(yàn)機(jī)”運(yùn)動(dòng)路徑如圖2所示:
A型產(chǎn)品共有滑槽50道。B型產(chǎn)品共有滑槽100道。每道滑槽之間的距離不等。
研磨工藝要求:能從“當(dāng)前滑槽”向“任意下一滑槽”的運(yùn)動(dòng)。
B型產(chǎn)品共有滑槽100道。如果按這一要求。在任一滑槽位置都可能有100種運(yùn)動(dòng)流程可選擇。這樣共有的“運(yùn)動(dòng)流程”為100*100=10000種。
如果按照常規(guī)的運(yùn)動(dòng)程序編制方法編制的研磨加工程序如基本加工程序P100。在P100中程序由下列部分組成
圖2.基本加工程序P100方框圖
基本加工程序P100
(1)當(dāng)前位置判斷程序步100。
N1 IF[#1132EQ1]GOTO1001;
……
.N99 IF[#1132EQ99]GOTO1099
N100 IF[#1132EQ100]GOTO1100-
#1132是表示工作臺(tái)當(dāng)前位置的變量。由PLC程序處理后發(fā)出。以上程序是判斷工作臺(tái)的當(dāng)前位置。當(dāng)前位置在1#滑槽,程序跳到N1001步。
當(dāng)前位置在99#滑槽,程序跳到N1099步。
當(dāng)前位置在100#滑槽,程序跳到N1100步。
有關(guān)“當(dāng)前位置判斷”的程序步為100步。
(2)當(dāng)前位置在任一滑槽,都對(duì)應(yīng)100種“下一加工槽位”選擇指令
N1099.IF[#1132EQ99]GOTO 2001
……
“#1132變量”是選擇指令,由操作面板選擇經(jīng)PLC程序處理后發(fā)出。選擇指令=99槽,程序跳到N2099步。
100個(gè)槽位對(duì)應(yīng)100種選擇指令,共計(jì)判斷條件10000步
(3)不同流程的加工程序10000個(gè)。每個(gè)加工程序12步。則加工程序長(zhǎng)度12*10000=120000步
總加工程序步數(shù)
=條件判斷程序10100步+運(yùn)動(dòng)程序步數(shù)120000步
=131000步。
這樣100道滑槽的研磨工藝加工程序總步數(shù)可能達(dá)到130000步。基本加工程序P100的加工程序太長(zhǎng)。編程困難,程序的安全系數(shù)也太低了。這一程序?qū)嵱眯圆粡?qiáng)。不過這是分析加工程序的基礎(chǔ)。
3.對(duì)加工程序的簡(jiǎn)化:
3.1利用宏程序功能實(shí)現(xiàn)研磨工藝的簡(jiǎn)化
簡(jiǎn)化運(yùn)動(dòng)程序最有效的方法之一是使用子程序和宏程序;
凡是運(yùn)動(dòng)動(dòng)作相同的一組運(yùn)動(dòng)都可以編制成為“子程序”,凡是可以用變量代替具體數(shù)據(jù)的程序可以編制成宏程序。按照這個(gè)原則,仔細(xì)分析每一研磨運(yùn)動(dòng),發(fā)現(xiàn)其動(dòng)作順序是相同的,研磨程序?yàn)镻200:
研磨程序P200
N1 M8-----開冷卻液;
N2 M3------磨頭啟動(dòng)旋轉(zhuǎn)
N3 G90 G1Y0F2000-----研磨退回Y0位;
N4 M9-----關(guān)冷卻液
N5 M5------關(guān)閉磨頭旋轉(zhuǎn)
N6 G90 G0Xx------運(yùn)行到下一X位置
N7 M8-----開冷卻液;
N8 M3------磨頭啟動(dòng)旋轉(zhuǎn)
N9 G90 G1YyF2000-----研磨下一滑槽;
N10 M9-----關(guān)冷卻液
N11 M5------關(guān)閉磨頭旋轉(zhuǎn)
N12 M30-----END程序結(jié)束。
只是在“N6 G90G0Xx------運(yùn)行到下一X位置”和
“N9 G90 G1Yy F2000-----研磨下一滑槽;”中的X軸移動(dòng)距離和Y軸移動(dòng)距離在不同的“研磨加工流程中”各不相同。如果將“X軸移動(dòng)距離和Y軸移動(dòng)距離”用變量表示。在選擇不同的流程時(shí)給變量賦予不同的“數(shù)值”。這樣就可以將研磨運(yùn)動(dòng)程序編制成為一“宏程序”;在適當(dāng)?shù)某绦虿劫x予不同的變量并調(diào)用宏程序就可以完成研磨動(dòng)作。
根據(jù)以上方案編制出“研磨加工宏程序P9200”
研磨加工宏程序P9200
N1 M8-----開冷卻液;
N2 M3------磨頭啟動(dòng)旋轉(zhuǎn)
N3 G90 G1Y0F2000-----研磨退回Y0位;
N4 M9-----關(guān)冷卻液
N5 M5------關(guān)閉磨頭旋轉(zhuǎn)
N6 G90 G0X#1------運(yùn)行到下一X位置
N7 M8-----開冷卻液;
N8 M3------磨頭啟動(dòng)旋轉(zhuǎn)
N9 G90 G1Y#2 F2000-----研磨下一滑槽;
N10 M9-----關(guān)冷卻液
N11 M5------關(guān)閉磨頭旋轉(zhuǎn)
N12 M30-----END程序結(jié)束。
在此宏程序中:“X軸移動(dòng)距離=#1(變量)
Y軸移動(dòng)距離”=#2(變量)
這樣,就可以將120000步運(yùn)動(dòng)程序簡(jiǎn)化為10000條的宏程序調(diào)用指令。簡(jiǎn)化后程序量?jī)H為簡(jiǎn)化前程序的8%.
3.2不可以簡(jiǎn)化的程序部分:
由于存在10000條運(yùn)動(dòng)流程,每一流程中,X軸Y軸的運(yùn)行距離不相同。即使采用了宏程序的簡(jiǎn)化方案,但變量的設(shè)置不能簡(jiǎn)化,所以這10000步變量設(shè)置程序不能簡(jiǎn)化。必須有規(guī)律的編寫程序。
3.3運(yùn)動(dòng)流程判斷條件程序的簡(jiǎn)化:
在程序中用變量“#1132”表示工作臺(tái)當(dāng)前位置;“#1133”表示“下一指令選擇狀態(tài)”.
按照基本程序P100的編制方法,用于“運(yùn)動(dòng)流程選擇”的程序步就達(dá)到10100步,也需要簡(jiǎn)化。
以“當(dāng)前位置”的判斷為例:
(1)“當(dāng)前位置”共有100點(diǎn),在加工程序中的常規(guī)判斷程序有100步。如果采用一循環(huán)程序,用一變量I從1—100進(jìn)行循環(huán)比較,就可以判斷“當(dāng)前位置”,而且利用“GOTO”指令可以跳出循環(huán),跳到指定的“程序步”。“程序步”也可以用變量指定。按這樣的思路,編制了循環(huán)比較宏程序如下:
P300
N1 WHILE [ILE100] DO 1
N2 #1000=I*100------(制作步序號(hào)變量)
N3 IF[#1132 EQ I]GOTO#1000--可以跳到循環(huán)之外選定的步序號(hào)
N4 I=I+1;
N5 END 1
這樣將常規(guī)100步比較程序簡(jiǎn)化為5步的循環(huán)比較程序。
(2)把判斷“下一指令選擇狀態(tài)”的程序做同樣處理,可以將常規(guī)10000步比較程序簡(jiǎn)化為500步的循環(huán)比較程序
這一部分,簡(jiǎn)化后程序僅為簡(jiǎn)化前程序的5%。
經(jīng)過第一次簡(jiǎn)化后的程序步數(shù)
1當(dāng)前位置判斷程序=5步
2運(yùn)動(dòng)流程選擇判斷程序步=500步
3運(yùn)動(dòng)變量設(shè)置及宏程序調(diào)用程序步=10000步
4研磨運(yùn)動(dòng)程序步=12步
總步數(shù)=10517步。經(jīng)過第1次簡(jiǎn)化。
簡(jiǎn)化程序僅為“常規(guī)基本程序”的8%??梢哉f是大大簡(jiǎn)化的加工運(yùn)動(dòng)程序。
4.對(duì)加工程序的再次簡(jiǎn)化:
由于
(1)運(yùn)動(dòng)變量設(shè)置及宏程序調(diào)用程序步=10000步
(2)研磨運(yùn)動(dòng)程序步=12步
已經(jīng)不可簡(jiǎn)化。
還可以做進(jìn)一步簡(jiǎn)化的就是“運(yùn)動(dòng)流程判斷條件”
而“運(yùn)動(dòng)流程判斷條件”實(shí)際上是“當(dāng)前位置”和“下一指令選擇”兩種條件的組合;
而“當(dāng)前位置”和“下一指令選擇”兩種條件實(shí)際上已經(jīng)在PLC程序中給出。(即變量#1132和#1132已經(jīng)確定)。這樣問題就簡(jiǎn)化為:在已知“當(dāng)前位置”和“下一指令選擇”的條件下:如何選擇“運(yùn)動(dòng)變量設(shè)置及宏程序調(diào)用程序的順序號(hào)”。
4.1運(yùn)動(dòng)變量設(shè)置及宏程序調(diào)用子程序
可以將“運(yùn)動(dòng)變量設(shè)置及宏程序調(diào)用程序”單獨(dú)制作成為一“子程序”。這個(gè)子程序共有10000步;
其“順序步號(hào)”如果按一定規(guī)律設(shè)置:
“順序步號(hào)”=(“當(dāng)前位置變量”*100)+“下一指令選擇變量”
“順序步號(hào)”=(#1132*100)+#1133---------(式1)
則“運(yùn)動(dòng)變量設(shè)置及宏程序調(diào)用程序”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是調(diào)用宏程序P9200指令。只是每一宏程序的變量A、B不相同。A----1#變量。B----2#變量。Aa,Bb是對(duì)應(yīng)于不同加工程序的X軸、Y軸移動(dòng)距離,每一“研磨加工程序”的變量A、B必須預(yù)先設(shè)置。這就是P9100程序不能再被簡(jiǎn)化的原因。
4.2P9100程序的“順序步號(hào)”
“順序步號(hào)”=(#1132*100)+#1133---------(式1)
這樣設(shè)置是為了能夠有規(guī)律的檢索到相關(guān)的程序步。也是簡(jiǎn)化程序的關(guān)鍵之一。
在編制完成“運(yùn)動(dòng)變量設(shè)置及宏程序調(diào)用程序”P9100后,余下的問題是如何選擇其中的程序號(hào)
4.3“順序步號(hào)變量”
將“順序步號(hào)”設(shè)置成為變量,這樣就可以在執(zhí)行“子程序調(diào)用”時(shí)直接設(shè)定調(diào)用子程序的某一步。
N30#1500=(#1132*100)+#1133;----#1500是P9100中“順序步號(hào)”(P9100中的“順序號(hào)”已經(jīng)按此公式設(shè)置)
這樣在簡(jiǎn)化程序的過程中,先將10000步程序簡(jiǎn)化為505步,現(xiàn)在又簡(jiǎn)化為1步。徹底的簡(jiǎn)化了程序。
5.主加工程序
經(jīng)過兩次簡(jiǎn)化和對(duì)不可簡(jiǎn)化程序的判斷,最后編制出主加工程序如下:P800
P800----主加工程序
N10 IF[#1133EQ0]GOTO90-----(無選擇指令判斷:如果沒有選擇“下一位置指令”,程序結(jié)束。
N20 IF[#1133EQ#1132]GOTO90----(同號(hào)選擇判斷--如果選擇的“下一運(yùn)動(dòng)位置”與“當(dāng)前位置相同”,程序結(jié)束。
N30 #1500=(#1132*100)+#1133;----#1500是P9100程序中“順序號(hào)”(P9100中的“順序號(hào)”必須按此公式設(shè)置)
N40 M98 P9100H#1500-----調(diào)用子程序P9100的H順序段。H----P9100中“順序號(hào)”
N90 M30 END
整個(gè)主程序雖然只有4步,但包含了一次“子程序”調(diào)用。在“子程序”中又包含了一次“宏程序”調(diào)用。
本程序?qū)?yīng)可能的10000個(gè)不同的“研磨工藝”,程序步數(shù)只有10020步。實(shí)現(xiàn)了研磨運(yùn)動(dòng)程序的最簡(jiǎn)化。主程序只有4步。各程序便于分析,測(cè)試,查找。是利用宏程序編制加工工藝的典型方法。
標(biāo)簽:
上一篇:視頻電子警察系統(tǒng)
中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.wangxinlc.cn)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
相關(guān)資訊
產(chǎn)品新聞
更多>2025-04-30
性能躍升20%!維宏NK300CX Plus數(shù)控系統(tǒng)...
2025-04-11
rpi-image-gen:樹莓派軟件鏡像構(gòu)建的終...
2025-04-08
【產(chǎn)品解讀】全面提升精密制造檢測(cè)節(jié)拍...
2025-03-31
激光閃耀 智慧引領(lǐng) | WISE MASER 黑武士...
2025-03-20