




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、用戶宏程序用戶宏程序一、變量的使用一、變量的使用二、系統(tǒng)變量二、系統(tǒng)變量三、運算命令三、運算命令四、循環(huán)語句四、循環(huán)語句五五、程序案例、程序案例六、宏程序的調(diào)用六、宏程序的調(diào)用主要內(nèi)容主要內(nèi)容:用戶宏程序用戶宏程序 形狀類似但大小不同(圓、方及其它)形狀類似但大小不同(圓、方及其它) 其它其它 自動化功能(刀具長度測量)自動化功能(刀具長度測量)換刀功能換刀功能 特殊形狀(橢圓、球等)特殊形狀(橢圓、球等) 大小相同但位置不同(組孔、陣列等)大小相同但位置不同(組孔、陣列等)宏程序的適用范圍宏程序的適用范圍加工程序編程生產(chǎn)管理PMC強電控制用戶宏程序用戶宏程序主程序主程序宏程序宏程序用途用途用
2、戶宏程序用戶宏程序宏程序相關的參數(shù)宏程序相關的參數(shù)#5(SBM) 用戶宏程序語句中,用戶宏程序語句中, 0: 單程序段不停止單程序段不停止 1: 單程序段停止單程序段停止#6(CCV) 復位(復位(Reset)后,公共變量)后,公共變量#100#1990: 清空清空1: 不清空不清空#7(CLV) 復位(復位(Reset)后,局部變量)后,局部變量#1#33 0: 清空清空1: 不清空不清空0i-D沒有沒有6001#7設置設置用戶宏程序用戶宏程序#4(NE9) 編輯程序號為編輯程序號為90009999的程序的程序0: 不禁止不禁止1: 禁止禁止#6(NPE) 程序登錄時,對含有程序登錄時,對含
3、有M02,M99,M30的程序段的程序段0: 視為登錄結(jié)束視為登錄結(jié)束1: 不視為登錄結(jié)束不視為登錄結(jié)束NE8程序保護程序保護用戶宏程序用戶宏程序 變量的表示變量的表示 變量的種類變量的種類 變量的顯示與設定變量的顯示與設定 變量的使用變量的使用 未定義變量未定義變量一、變量一、變量用戶宏程序用戶宏程序1. 變量的表示變量的表示 例:例:#10,#1005 表達式表達式也可以用于指定變量號,需封閉在括號中。也可以用于指定變量號,需封閉在括號中。 例:例:#2-1,#500/2 可在程序段結(jié)尾加可在程序段結(jié)尾加注釋注釋說明變量內(nèi)容,需用括號封閉。說明變量內(nèi)容,需用括號封閉。 例:例:#2=#3-
4、1(TOOL NUMBER);變量符號(變量符號(#)+ 變量號變量號變量的表示變量的表示用戶宏程序用戶宏程序變量號變量號變量類型變量類型用用 途途#0、#3100空變量空變量總為空總為空,不能寫不能寫,只能讀只能讀#1#33局部變量局部變量只能用在當前宏程序中存儲變量,只能用在當前宏程序中存儲變量,斷電斷電/復復位后數(shù)據(jù)初始化位后數(shù)據(jù)初始化#100#199#500#999公共變量公共變量在不同的程序中意義相同,各宏程序公用。在不同的程序中意義相同,各宏程序公用。斷電后斷電后#100#199初始化為空,初始化為空, NO.6001#6NO.6001#6 #500#999數(shù)據(jù)保存數(shù)據(jù)保存#100
5、0系統(tǒng)變量系統(tǒng)變量可用于讀寫可用于讀寫CNC運行時的各種數(shù)據(jù)運行時的各種數(shù)據(jù)2.變量的種類變量的種類參數(shù)參數(shù):公共變量保護公共變量保護NO.6031NO.6031、NO.6032NO.6032用戶宏程序用戶宏程序用戶宏程序用戶宏程序3.局部、公共、系統(tǒng)變量的用途和特性局部、公共、系統(tǒng)變量的用途和特性局部變量局部變量:#1#33,初始狀態(tài)為初始狀態(tài)為,自變量輸入可用程序或自變量輸入可用程序或MDI方式輸入方式輸入,可可以自由使用以自由使用,屬性屬性READ/WRTIE.公共變量公共變量:#100#199、#500#999,共共600個個,是主程序或調(diào)用的各子程序是主程序或調(diào)用的各子程序,各個各個
6、宏之間的通用宏之間的通用,用途沒有在系統(tǒng)中確定用途沒有在系統(tǒng)中確定,用戶可自由使用用戶可自由使用,#100#199斷電不保斷電不保護護,#500#999斷電保護斷電保護,屬性屬性READ/WRTIE.公共變量的寫保護公共變量的寫保護:參數(shù)參數(shù)60316032 對對#500#999進行保護進行保護,屬性只讀屬性只讀,防止輸防止輸入入/全清的誤操作全清的誤操作.系統(tǒng)變量系統(tǒng)變量:在系統(tǒng)中固定在系統(tǒng)中固定,屬性只讀(屬性只讀(#3011)、只寫()、只寫(#3000)、可讀可寫)、可讀可寫(#2201).系統(tǒng)常量系統(tǒng)常量:其值不變的常量其值不變的常量,屬性只讀屬性只讀.用戶宏程序用戶宏程序4.變量的
7、顯示與設定變量的顯示與設定變量的顯示變量的顯示1).按下按下MDI面板上面板上的功能鍵的功能鍵OFFSETSETTING2).按幾次按幾次 鍵,鍵,直至直至 出現(xiàn)出現(xiàn)用戶宏程序用戶宏程序3).按下按下 顯顯示宏程序變量值示宏程序變量值用戶宏程序用戶宏程序4.按按 、 顯示局部和公共顯示局部和公共變量值變量值用戶宏程序用戶宏程序公共變量的設定公共變量的設定1.找到顯示公共變量的畫面。找到顯示公共變量的畫面。2.將光標移至欲設定的變量號上。將光標移至欲設定的變量號上。 鍵入變量號并按鍵入變量號并按 鍵鍵 按換頁鍵按換頁鍵 、 和光標鍵和光標鍵 將光標移至欲設定的變量號上將光標移至欲設定的變量號上3
8、.鍵入數(shù)據(jù)并按鍵入數(shù)據(jù)并按用戶宏程序用戶宏程序5.變量的使用變量的使用 將計算結(jié)果賦值給將計算結(jié)果賦值給對應的變量號對應的變量號常數(shù)、變量、函數(shù)和運常數(shù)、變量、函數(shù)和運算符的組合算符的組合表示方法表示方法#1= #2 + 100 ;#1= #2 + #18 SIN#5 ;小數(shù)點小數(shù)點用戶宏程序用戶宏程序當在程序中定義變量值時,小數(shù)點可以省略當在程序中定義變量值時,小數(shù)點可以省略#1 = 123;#1123.000變量的引用變量的引用 跟在地址后面的數(shù)值可用變量來代替。跟在地址后面的數(shù)值可用變量來代替。G01 X10.0 F#1;F500把把#1值作為值作為F的指令值的指令值G01 X-#1+#
9、2 F#1;把表達式放在括號中把表達式放在括號中變量的賦值變量的賦值變量賦值范圍變量賦值范圍用戶宏程序用戶宏程序 把變量用于地址數(shù)據(jù)的時候,被引用變量的值把變量用于地址數(shù)據(jù)的時候,被引用變量的值根據(jù)地址的最小設定根據(jù)地址的最小設定單位自動地四舍五入單位自動地四舍五入G01 X#1;當當#1賦值為賦值為12.3456時,實際指令值為時,實際指令值為G01 X12.346;設定單位設定單位1/1000mm(IS-B) NO.1013 改變引用變量的值的符號,要改變引用變量的值的符號,要把負號放在把負號放在#的前面的前面G00 X-#1;用戶宏程序用戶宏程序 當引用未定義的變量時,當引用未定義的變量
10、時,變量及地址字都被忽略變量及地址字都被忽略G00 X#1 Y#2;當當#1=0,#2為空時為空時 G00 X0; 程序號、順序號程序號、順序號和和任選程序段跳轉(zhuǎn)號任選程序段跳轉(zhuǎn)號不能使用變量不能使用變量O#1;N#3 Y200.0;/#2 G00 X10.;用戶宏程序用戶宏程序參數(shù)參數(shù)6008#0為為0,最大值最大值 , 最小值最小值超出范圍出現(xiàn)超出范圍出現(xiàn)PS0111#報警報警參數(shù)參數(shù)6008#0為為1,最大值最大值 , 最小值最小值變量的范圍變量的范圍角度單位為度角度單位為度#1=90G01 C-#1 F500 順時針旋轉(zhuǎn)順時針旋轉(zhuǎn)90度度用戶宏程序用戶宏程序6.未定義變量未定義變量當變
11、量值未定義時,這樣的變量成為當變量值未定義時,這樣的變量成為變量變量 變量變量#0 總是空變量總是空變量,它它不能寫只能讀不能寫只能讀未定義變量的引用未定義變量的引用當引用一個未定義的變量時當引用一個未定義的變量時, ,地址本身也被忽略地址本身也被忽略當當#1=時時當當#1=0時時G90 X100 Y#1 G90 X100G90 X100 Y#1 G90 X100 Y0局部局部公共、公共、值空值空用戶宏程序用戶宏程序系統(tǒng)變量系統(tǒng)變量(常量常量)通過變量號指定通過變量號指定,也可事先準備系統(tǒng)變量也可事先準備系統(tǒng)變量(常量常量)名稱來指定名稱來指定.它它由由(下劃線下劃線)開始開始8個英文字母、數(shù)
12、字構(gòu)成個英文字母、數(shù)字構(gòu)成.對軸和刀具補償對軸和刀具補償,作為名稱的下標作為名稱的下標,可用可用n(n為整數(shù)為整數(shù)),n可用可用即運算格式指定即運算格式指定.7.系統(tǒng)變量系統(tǒng)變量(常量常量)名稱名稱O1212用戶宏程序用戶宏程序用戶宏程序用戶宏程序用戶宏程序用戶宏程序X#21Y#22X-#21Y-#22用戶宏程序用戶宏程序二、系統(tǒng)變量二、系統(tǒng)變量系統(tǒng)變量讀取系統(tǒng)變量讀取CNC內(nèi)部信息數(shù)據(jù)內(nèi)部信息數(shù)據(jù),如模態(tài)信息如模態(tài)信息、坐標位置、刀具補償?shù)茸鴺宋恢谩⒌毒哐a償?shù)?系統(tǒng)系統(tǒng)變量對自動化程序和通用程序十分重要變量對自動化程序和通用程序十分重要.系統(tǒng)變量系統(tǒng)變量/常量常量n表示下標表示下標,屬性屬性
13、R表示只讀、表示只讀、W表示只寫、表示只寫、R/W表示可讀表示可讀/可寫可寫.用戶宏程序用戶宏程序刀補刀補C參數(shù)參數(shù)6000#3=0.補償個數(shù)小于等于補償個數(shù)小于等于200個個, 長度補償長度補償參數(shù)參數(shù)6000#3=1,補償個數(shù)小于等于補償個數(shù)小于等于200個個.長度補償長度補償參數(shù)參數(shù)8136#6=0,用戶宏程序用戶宏程序補償個數(shù)為補償個數(shù)為400個(小于等于個(小于等于200個也可使用個也可使用#2001#2800)參數(shù)參數(shù)6000#3=0參數(shù)參數(shù)6000#3=1#2206用戶宏程序用戶宏程序CNC報警報警參數(shù)參數(shù)6008#1=0表達式后為表達式后為不超過不超過26個字符個字符的報警信息
14、的報警信息屏幕上顯示報警號和報警信息,報警號為屏幕上顯示報警號和報警信息,報警號為n的值加上的值加上3000#3000=1 (WRONG DATA INPUT);屏幕顯示:屏幕顯示:3001 WRONG DATA INPUT例:例:#3000=n (報警內(nèi)容報警內(nèi)容);格式格式用戶宏程序用戶宏程序以下兩種情況:以下兩種情況:參數(shù)MCA(No.6008#1)=0時#3000 = n (ALARM MESSAGE) ; ( n: 0200 )將3000 與變量#3000 的值相加的報警號和報警信息一起在畫面上顯示出來。(例) #3000=1 (ALARM MESSAGE);報警畫面上顯示出“300
15、1 ALARM MESSAGE”。參數(shù)MCA(No.6008#1)=1時#3000 = n (ALARM MESSAGE) ; ( n: 04095 )繼MC 后,畫面上顯示出#3000 報警號和報警信息。(例) #3000=1 (ALARM MESSAGE);報警畫面上顯示出“MC0001 ALARM MESSAGE”。用戶宏程序用戶宏程序時間信息時間信息變量號變量號單位單位功功 能能賦值賦值#3001毫秒毫秒計時器。電源接通時復位為計時器。電源接通時復位為0。可以可以#3002小時小時計時器。循環(huán)啟動燈亮時開始計時。計時器。循環(huán)啟動燈亮時開始計時。即使在斷電時也保存該值即使在斷電時也保存該
16、值可以可以計時器 #3001、#3002 (屬性:R/W)21474836489544.37176用戶宏程序用戶宏程序用戶宏程序用戶宏程序自動運行控制自動運行控制當電源接通時當電源接通時復位復位,#3003的值為的值為0.當單程序段停止無效時當單程序段停止無效時,即使操作面板上的單程序段開關設為即使操作面板上的單程序段開關設為ON,也也不執(zhí)行單程序段停止不執(zhí)行單程序段停止.當不指定等待輔助功能當不指定等待輔助功能M 、S 和和T 功能完成時,在輔助功能完成之功能完成時,在輔助功能完成之前程序執(zhí)行到下列程序段而且分配完成信號前程序執(zhí)行到下列程序段而且分配完成信號DEN不輸出不輸出.注意注意:不要
17、在沒有等待完成信號下指令下一個輔助指令不要在沒有等待完成信號下指令下一個輔助指令.用戶宏程序用戶宏程序也可通過變量名稱實現(xiàn)個別控制也可通過變量名稱實現(xiàn)個別控制.用戶宏程序用戶宏程序準確停止方式準確停止方式G09G61變量名稱指令變量名稱指令用戶宏程序用戶宏程序當當電源接通電源接通時該變量的值為時該變量的值為0.當當進給暫停進給暫停無效時無效時.1 當進給暫停按鈕被按下時,機床在執(zhí)行完當前程序段然后執(zhí)當進給暫停按鈕被按下時,機床在執(zhí)行完當前程序段然后執(zhí)行單段停止,但是當用變量行單段停止,但是當用變量#3003使單程序段方式無效時,單使單程序段方式無效時,單程序段停止不執(zhí)行程序段停止不執(zhí)行2 當進
18、給暫停按鈕壓下又松開時,進給暫停燈亮但是機床不停當進給暫停按鈕壓下又松開時,進給暫停燈亮但是機床不停止,程序繼續(xù)執(zhí)行,并且機床停在進給暫停有效的第一個程序止,程序繼續(xù)執(zhí)行,并且機床停在進給暫停有效的第一個程序段段.當當進給速度倍率進給速度倍率無效時,總是無效時,總是100%的倍率,而不管機床操作面的倍率,而不管機床操作面板上的進給速度倍率開關的設置板上的進給速度倍率開關的設置.用戶宏程序用戶宏程序例如例如攻絲宏程序用戶宏程序用戶宏程序SETTING值值變量號變量號功能功能賦值賦值#3005設定數(shù)據(jù)設定數(shù)據(jù)可以可以用戶宏程序用戶宏程序伴隨信息同時停止伴隨信息同時停止#3006(屬性屬性W)宏指令
19、發(fā)出宏指令發(fā)出#3006=1(MESSAGE),程序即可在一個程序段停止程序即可在一個程序段停止,控制輸入控制輸入輸出輸出字符字符26個以內(nèi)信息使用括弧括起來個以內(nèi)信息使用括弧括起來.用戶宏程序用戶宏程序鏡像狀態(tài)鏡像狀態(tài)鏡像的狀態(tài)#3007#3007(R R)通過讀取#3007,即可得知每個軸在該時刻的鏡像(設定或DI)的狀態(tài)軸與二進制顯示時的各位(bit)對應:用戶宏程序用戶宏程序變量號變量號功能功能賦值賦值#3007使用外部開關或使用外部開關或SETTING 操作設置的各軸鏡像操作設置的各軸鏡像狀態(tài)可以通過輸出信號狀態(tài)可以通過輸出信號,鏡像檢測信號讀出鏡像檢測信號讀出不可不可用戶宏程序用戶
20、宏程序日期日期/時間時間時刻 #3011#3011、#3012 #3012 (屬性:R R)通過讀取系統(tǒng)變量 #3011、#3012,即可得知年/月/日、時/分/秒。本變量為只讀變量。想要改變年/月/日、時/分/秒時,在計時器畫面上進行。例:2004 2004 年1 1 月20 20 日 下午4 4 時17 17 分5 5 秒 #3011#3011 2004012020040120 #3012 #3012 161705161705用戶宏程序用戶宏程序加工零件數(shù)加工零件數(shù)變量號變量號功功 能能賦值賦值#3901已加工零件數(shù)已加工零件數(shù)可以可以#3902所要求的零件數(shù)所要求的零件數(shù)可以可以 通過運
21、行時間和零件數(shù)顯示功能,可在畫面上顯示出所需零件數(shù)和已加工的零件數(shù)。已加工的零件數(shù)(累計值)超過所需零件數(shù)時,系統(tǒng)會向機床端(PMC端)輸出信號。利用系統(tǒng)變量來讀寫零件數(shù)的累計值和所需零件數(shù)用戶宏程序用戶宏程序用戶宏程序用戶宏程序模態(tài)信息模態(tài)信息1.#4001-#4130 1.#4001-#4130 程序段前指定的模態(tài)信息程序段前指定的模態(tài)信息2 2.#4201-#4330.#4201-#4330 當前正在執(zhí)行的程序段的模態(tài)信息當前正在執(zhí)行的程序段的模態(tài)信息用戶宏程序用戶宏程序模態(tài)信息分類模態(tài)信息分類參數(shù)參數(shù):NO.5431 G60用戶宏程序用戶宏程序模態(tài)信息分類模態(tài)信息分類用戶宏程序用戶宏程
22、序系統(tǒng)變量的存儲系統(tǒng)變量的存儲O0001;N10 G00 G90 X100.0 Y50.0;N11 G65 P9999 U90.0 V120.0;N12 X200.0 Y100.0;M30;O9999;N1 G01 G91 X#21 F300;N2 Y#22;N3 X-#21;N4 Y-#22;M99;O9999;#30=#4001;#31=#4003;#32=#4109;N1 G01 G91 X#21 F300;N2 Y#22;N3 X-#21;N4 Y-#22;G#30 G#31 F#32;M99;用戶宏程序用戶宏程序位置信息位置信息用戶宏程序用戶宏程序自動刀具長度測量自動刀具長度測量用戶
23、宏程序用戶宏程序自動刀具長度測量自動刀具長度測量#11000+#11=#5#11000+#11=#5用戶宏程序用戶宏程序三、運算指令三、運算指令 表達式表達式 運算命令的種類運算命令的種類 運算順序運算順序 用戶宏程序用戶宏程序運算指令右邊的運算指令右邊的是常量、變量、函數(shù)或算符的組合是常量、變量、函數(shù)或算符的組合可以使用常量可以使用常量.表達式中使用的不帶數(shù)點的常量表達式中使用的不帶數(shù)點的常量表達式表達式用戶宏程序用戶宏程序種種 類類符符 號號格格 式式加法加法+#i = #j + #k 減法減法-#i = #j - #k乘法乘法#i = #j#k除法除法/#i = #j / #k1.運算命
24、令的種類運算命令的種類加減乘除加減乘除112112112112用戶宏程序用戶宏程序種種 類類符符 號號格格 式式結(jié)果結(jié)果正弦正弦SIN#i=SINc/a余弦余弦COS#i=COSb/a正切正切TAN#i=TANc/b反正弦反正弦ASIN#i=ASINc/a反余弦反余弦ACOS#i=ACOSb/a反正切反正切ATAN#i=ATANc/b#i=ATANc/b#i=ATANc,b三角函數(shù)的角度單位為三角函數(shù)的角度單位為度度。如:。如:9030表示為表示為90.5運算結(jié)果范圍運算結(jié)果范圍三角函數(shù)三角函數(shù)用戶宏程序用戶宏程序反三角函數(shù)的取值范圍反三角函數(shù)的取值范圍函函 數(shù)數(shù)No.6004#0=0No.6
25、004#0=1ATAN(2 2)0360-180+180ASIN27090-9090ACOS1800#1=SIN90*;#1=COS90;#1=TAN45;#1=ATAN1/1;#1=ATAN-1/-1*;10145.000225.000#1#1#1#1#1反三角函數(shù)反三角函數(shù)(1 1)自變量)自變量-90-90-90-90用戶宏程序用戶宏程序種種 類類函數(shù)名函數(shù)名格格 式式平方根平方根SQRT#i = SQRT #k 自然對數(shù)自然對數(shù)LN#i = LN #k 指數(shù)函數(shù)指數(shù)函數(shù)冪冪EXPPOW #i =EXP #k #i=POW#i,#j #2=2;#1=SQRT#2;1.414#1其它函數(shù)其
26、它函數(shù)119119用戶宏程序用戶宏程序種種 類類函數(shù)名函數(shù)名格格 式式下取整下取整FIX#i = FIX #k 上取整上取整FUP#i = FUP #k 四舍五入四舍五入ROUND#i =ROUND #k 絕對值絕對值ABS#i =ABS #k 下取整下取整(FIX):舍去小數(shù)點以下部分:舍去小數(shù)點以下部分上取整上取整(FUP):將小數(shù)后部分進位到整數(shù)部分:將小數(shù)后部分進位到整數(shù)部分 ROUND函數(shù):在算術(shù)運算或邏輯運算指令中使用時,在第函數(shù):在算術(shù)運算或邏輯運算指令中使用時,在第1個小數(shù)位置四個小數(shù)位置四舍五入舍五入 *在在NC語句地址中使用時,根據(jù)地址的最小設定單位將指定語句地址中使用時,
27、根據(jù)地址的最小設定單位將指定值四舍五入值四舍五入數(shù)據(jù)處理數(shù)據(jù)處理用戶宏程序用戶宏程序運算指令運算指令#2=1.2346時時#2=-1.6794時時#1= FIX #2 #1= FUP #2 #1=ROUND #2 #1=ABS #2 G01 XROUND#2;G01X1.235G1X-1.6791.02.0-1.0-2.01.01.2346-2.01.6794計算相應的變量值計算相應的變量值#1下取整下取整(FIX):舍去小數(shù)點以下部分:舍去小數(shù)點以下部分上取整上取整(FUP):將小數(shù)后部分進位到整數(shù)部分:將小數(shù)后部分進位到整數(shù)部分用戶宏程序用戶宏程序2. 運算順序運算順序 函數(shù)函數(shù) 乘除運算
28、(乘除運算( ,/,AND ) 加減運算加減運算(+, - , OR , XOR )#1=#2 + #3 SIN#4;用戶宏程序用戶宏程序 可以利用可以利用 來改變運算順序,可來改變運算順序,可嵌套嵌套5次次用戶宏程序用戶宏程序 可以使用函數(shù)名可以使用函數(shù)名前面的兩個字母前面的兩個字母來指定該函數(shù)。來指定該函數(shù)。ROUNDRO FIXFI用戶宏程序用戶宏程序表達式括號的使用表達式括號的使用在表達式中使用的括號為方括號在表達式中使用的括號為方括號 , 注意圓括號注意圓括號( )用于程序注釋用于程序注釋.除法運算中分母為除法運算中分母為”0”時時,則會出現(xiàn)則會出現(xiàn)(PS0112#報警報警).當指定
29、超出控制軸數(shù)時當指定超出控制軸數(shù)時,則會出現(xiàn)則會出現(xiàn)(PS0115#報警變量號超限報警變量號超限).括號的嵌套超過括號的嵌套超過5位位,則會出現(xiàn)則會出現(xiàn)(PS0118#報警報警).自然對數(shù)自然對數(shù),當逆對數(shù)當逆對數(shù)(#j)小于等于小于等于0時時,則會出現(xiàn)則會出現(xiàn)(PS0119#報警報警).指數(shù)函數(shù)指數(shù)函數(shù),運算結(jié)果溢出時運算結(jié)果溢出時,則會出現(xiàn)則會出現(xiàn)(PS0119#報警報警).用戶宏程序用戶宏程序四、控制指令四、控制指令l 無條件轉(zhuǎn)移(無條件轉(zhuǎn)移(GOTO 語句)語句)l 條件轉(zhuǎn)移(條件轉(zhuǎn)移(IF 語句)語句)l 循環(huán)(循環(huán)(WHILE 語句)語句) 用戶宏程序用戶宏程序改變流程改變流程1
30、在程序中在程序中,可以使用可以使用GOTO語句和語句和IF語句改變流向語句改變流向.2 轉(zhuǎn)移和重復有下列三種轉(zhuǎn)移和重復有下列三種用戶宏程序用戶宏程序1.無條件轉(zhuǎn)移(無條件轉(zhuǎn)移(GOTO 語句)語句) GOTO n; n:程序段號(:程序段號(1- 99999)無條件地轉(zhuǎn)移到程序段無條件地轉(zhuǎn)移到程序段n去。去。n也可用變量或表達式來代替也可用變量或表達式來代替GOTO 10;GOTO #10;當順序號在當順序號在199999范圍以外范圍以外,就會出現(xiàn)就會出現(xiàn)(PS1128#報警報警)警告警告:不可在一個程序段中指定多個相同順序號的程序段不可在一個程序段中指定多個相同順序號的程序段,利用利用GOT
31、O語句轉(zhuǎn)移時語句轉(zhuǎn)移時,轉(zhuǎn)移目的地不確定轉(zhuǎn)移目的地不確定,十分危險十分危險.用戶宏程序用戶宏程序用戶宏程序用戶宏程序用戶宏程序用戶宏程序 IF GOTO n; 若滿足若滿足,下步操作轉(zhuǎn)移到程序,下步操作轉(zhuǎn)移到程序段號為段號為n的程序段去。的程序段去。 若不滿足,執(zhí)行下個程序段。若不滿足,執(zhí)行下個程序段。2. 條件轉(zhuǎn)移(條件轉(zhuǎn)移(IF語句)語句) IF THEN ; 若滿足若滿足,執(zhí)行,執(zhí)行THEN后的宏程后的宏程序語句,只執(zhí)行一個語句。序語句,只執(zhí)行一個語句。IF#1 EQ #2 THEN #3=0;用戶宏程序用戶宏程序條件表達式條件表達式條件不滿足時執(zhí)條件不滿足時執(zhí)行的操作行的操作IFGOT
32、O應用:過切檢查應用:過切檢查用戶宏程序用戶宏程序用戶宏程序用戶宏程序表表 達達 式式含含 義義英英 文文#j EQ #k#j #kEQual#j NE #k#j #kNot Equal#j GT #k#j #kGreater Than#j LT #k#j #kLess Than#j GE #k#j #kGreater or Equal#j LE #k#j #kLess or Equal #j 和和 #k 也可用也可用來代替。來代替。條件表達式條件表達式114用戶宏程序用戶宏程序程序例子程序例子用戶宏程序用戶宏程序3. 循環(huán)(循環(huán)(WHILE語句)語句) WHILE DO m; (m=1,2,
33、3)條件成立時條件成立時執(zhí)行的程序執(zhí)行的程序 END m; DO m和和 END m必須必須成對成對使用,并以使用,并以 其中的其中的m作為識別號相互識別。作為識別號相互識別。 m的范圍為的范圍為1,2,3??梢愿鶕?jù)需要多次使用??梢愿鶕?jù)需要多次使用。126用戶宏程序用戶宏程序用戶宏程序用戶宏程序WHILE DO 1;程序WHILE DO 2;END1;程序END2;END1;程序WHILE DO 1;DO的區(qū)域不能的區(qū)域不能交叉交叉DO 一定要在一定要在END之前規(guī)定之前規(guī)定識別號(識別號( 1,2,3)可多次使用)可多次使用WHILE DO 1;程序END1;WHILE DO 1;程序EN
34、D1;用戶宏程序用戶宏程序WHILE DO 1;程序IF GOTO n;END1;程序Nn ; 可以從可以從DO區(qū)域的區(qū)域的內(nèi)部向外部轉(zhuǎn)移內(nèi)部向外部轉(zhuǎn)移 DO 循環(huán)可以循環(huán)可以嵌套嵌套3級級WHILE DO 1; WHILE DO 2; WHILE DO 3; 程序 END3; END2; END1; 不可以從不可以從DO區(qū)區(qū)域的外部向內(nèi)部域的外部向內(nèi)部轉(zhuǎn)移轉(zhuǎn)移IF GOTO n; WHILE DO 1;程序Nn ;END1;用戶宏程序用戶宏程序限制限制 無限循環(huán)無限循環(huán): 處理時間處理時間: 未定義的變量未定義的變量:用戶宏程序用戶宏程序G00 G91 X100.0;Y100.0;要求:對以
35、上動作重復執(zhí)行三次。要求:對以上動作重復執(zhí)行三次。設設#1為動作執(zhí)行次數(shù),初始值為零。為動作執(zhí)行次數(shù),初始值為零。用戶宏程序用戶宏程序#1=0; G00 G91 X100.0; Y100.0;#1=1; G00 G91 X100.0; Y100.0;#1=2; G00 G91 X100.0; Y100.0;#1=3;#1=0;WHILE#1 LT 3 DO 1; G00 G91 X100.0; Y100.0; #1=#1+1;END1;計數(shù)器累加計數(shù)器累加重復執(zhí)行重復執(zhí)行的動作的動作計數(shù)器復位計數(shù)器復位用戶宏程序用戶宏程序常用格式常用格式(當前值)(當前值)=(初值);(初值);WHILE (
36、當前值)比較(目標值)(當前值)比較(目標值) DO m;(執(zhí)行循環(huán)操作);(執(zhí)行循環(huán)操作);(當前值)(當前值)=(當前值)(當前值)1;ENDm;用戶宏程序用戶宏程序深孔加工深孔加工G00 G90 Z0;G01 Z-10. F300;G00 Z0;G00 Z-10. ;G01 Z-20. F300;G00 Z0;G00 Z-20. ;G01 Z-30. F300;G00 Z0 ;G00 G90 Z#2;G01 Z#1 F300;G00 Z0;#1 當次鉆孔深度坐標當次鉆孔深度坐標#2 前次鉆孔深度坐標前次鉆孔深度坐標用戶宏程序用戶宏程序#26= - 30.0;#17= - 10.0;#1=
37、 0;#2= 0;WHILE#1 GT #26 DO1; #1=#1+#17; G00 G90 Z#2; G01 Z#1 F300; G00 Z0; #2=#1;END1;使用使用WHILE語句限制循環(huán)次數(shù)語句限制循環(huán)次數(shù)鉆孔最終深度賦值鉆孔最終深度賦值每次鉆孔深度賦值每次鉆孔深度賦值當次鉆孔深度坐標初始化當次鉆孔深度坐標初始化前次鉆孔深度坐標初始化前次鉆孔深度坐標初始化計算當次鉆孔深度坐標計算當次鉆孔深度坐標記錄當次鉆孔深度記錄當次鉆孔深度用戶宏程序用戶宏程序#26= - 35.0;#17= - 10.0;#1= 0;#2= 0;WHILE#1 GT #26 DO1; #1= #1 + #1
38、7; IF#1 GE #26 GOTO1; #1= #26; G00 G90 Z#2; G01 Z#1 F300; G00 Z0; #2= #1;END1;使用使用IF語句限制最終鉆孔深度語句限制最終鉆孔深度N1計算當次鉆孔深度坐標計算當次鉆孔深度坐標與最終鉆孔深度比較與最終鉆孔深度比較鉆孔最終深度賦值鉆孔最終深度賦值每次鉆孔深度賦值每次鉆孔深度賦值當次鉆孔深度坐標初始化當次鉆孔深度坐標初始化前次鉆孔深度坐標初始化前次鉆孔深度坐標初始化記錄當次鉆孔深度記錄當次鉆孔深度用戶宏程序用戶宏程序#26= -35.0;#17= -10.0;#1= 0;#2= 0;#3= 0;WHILE#1 GT #26
39、 DO1; #1= #1+ #17; IF#1 GE #26 GOTO1; #1= #26; G00 G90 Z#2 + #3; G01 Z#1 F300; G00 Z0; #2= #1; #3= 1.0;END1;N1鉆孔最終深度賦值鉆孔最終深度賦值每次鉆孔深度賦值每次鉆孔深度賦值當次鉆孔深度坐標初始化當次鉆孔深度坐標初始化前次鉆孔深度坐標初始化前次鉆孔深度坐標初始化計算當次鉆孔深度坐標計算當次鉆孔深度坐標記錄當次鉆孔深度記錄當次鉆孔深度與最終鉆孔深度比較與最終鉆孔深度比較鉆孔深度空程量初始化鉆孔深度空程量初始化 鉆孔深度空程量賦值鉆孔深度空程量賦值用戶宏程序用戶宏程序#26= -35.0;
40、#18= 3.0;#17= -10.0;#9= 300;#1= #18;#2= #18;#3= 0;WHILE#1 GT #26 DO1; #1=#1+ #17; IF#1 GE #26 GOTO1; #1=#26; G00 G90 Z#2+#3; G01 Z#1 F#9; G00 Z#18; #2= #1; #3= 1.0;END1;M30;N1鉆孔最終深度賦值鉆孔最終深度賦值每次鉆孔深度賦值每次鉆孔深度賦值當次鉆孔深度坐標初始化當次鉆孔深度坐標初始化前次鉆孔深度坐標初始化前次鉆孔深度坐標初始化計算當次鉆孔深度坐標計算當次鉆孔深度坐標記錄當次鉆孔深度記錄當次鉆孔深度與最終鉆孔深度比較與最終鉆
41、孔深度比較鉆孔深度空程量初始化鉆孔深度空程量初始化 鉆孔深度空程量賦值鉆孔深度空程量賦值初始點坐標賦值初始點坐標賦值進給速度賦值進給速度賦值用戶宏程序用戶宏程序粗銑圓內(nèi)腔粗銑圓內(nèi)腔#5:圓半徑的增量:圓半徑的增量#18:最終圓弧半徑:最終圓弧半徑O9999; #5= 10.0; #18= 45.0; #1= 0; #2= 0; WHILE#1 LT #18 DO 1; #1= #1+ #5; IF#1 LE #18 GOTO1; #1= #18; G01 G91 Y#1- #2 F300; G02 J-#1; #2= #1; END1;M30;N1當次圓弧半徑當次圓弧半徑前次圓弧半徑前次圓弧半
42、徑用戶宏程序用戶宏程序 程序案例程序案例O0099G00G90G54X0Y0G43Z5.H1S1500M3G1Z-5.F300#5=10#18=45#1=0#2=0WHILE#1LT#18DO1#1=#1+#5IF#1LT#18GOTO1#1=#18N1G1G91Y#1-#2F300G2J-#1#2=#1END1G00Z100.M5M30用戶宏程序用戶宏程序六、宏程序調(diào)用六、宏程序調(diào)用非模態(tài)調(diào)用非模態(tài)調(diào)用G65模態(tài)調(diào)用模態(tài)調(diào)用G66G、M代碼調(diào)用宏程序代碼調(diào)用宏程序用戶宏程序用戶宏程序O9999;#21=90.0;#22=120.0;N1 G01 G91 X#21 F300;N2 Y#22;N
43、3 X- #21;N4 Y- #22;M30;簡單的四邊形銑削簡單的四邊形銑削用戶宏程序用戶宏程序簡單的四邊形銑削簡單的四邊形銑削O0001;M98 P9999;M30;O9999;#21=90.0;#22=120.0;N1 G01 G91 X#21 F300;N2 Y#22;N3 X-#21;N4 Y-#22;M99;O0001;#21=90.0;#22=120.0;M98 P9999;M30;O9999;N1 G01 G91 X#21 F300;N2 Y#22;N3 X-#21;N4 Y-#22;M99;O0001;G65 P9999 U90.0 V120.0;M30;用戶宏程序用戶宏程序
44、 G65 Pp Ll 自變量賦值自變量賦值;要調(diào)用的要調(diào)用的程序號程序號重復次數(shù)重復次數(shù) 用用G65指令,把由指令,把由P指令的宏程序體調(diào)用指令的宏程序體調(diào)用L次次 L的缺省值為的缺省值為1 按照按照自變量賦值自變量賦值的規(guī)定,將自變量的實際數(shù)值調(diào)到相應的規(guī)定,將自變量的實際數(shù)值調(diào)到相應的程序體中的程序體中 調(diào)用調(diào)用宏程序有宏程序有2類類:宏程序調(diào)用和子程序調(diào)用宏程序調(diào)用和子程序調(diào)用,MDI方式也有效方式也有效1. 非模態(tài)調(diào)用非模態(tài)調(diào)用G65用戶宏程序用戶宏程序O0001; G65 P9010 L2 A1.0 B2.0; M30;O9010;#3=#1+#2;IF#3 GT 360 GOTO
45、9;G00G90 X#3;N9 M99;用戶宏程序用戶宏程序有兩種形式的自變量賦值規(guī)定:有兩種形式的自變量賦值規(guī)定: 自變量賦值自變量賦值 自變量賦值自變量賦值用戶宏程序用戶宏程序自變量賦值自變量賦值地址地址變量號變量號地址地址變量號變量號地址地址變量號變量號A#1I#4T#20B#2J#5U#21C#3K#6V#22D#7M#13W#23E#8Q#17X#24F#9R#18Y#25H#11S#19Z#26 對字母對字母A-Z后加數(shù)值來賦值,但后加數(shù)值來賦值,但G,L,N,O,P除外除外 I,J,K須按字母順序指定須按字母順序指定用戶宏程序用戶宏程序用戶宏程序用戶宏程序G65 P9003 X3
46、0. Y45. Z-3. F300;#9= 300;#24= 30.0;#25= 45.0;#26= -3.0;O9003 ;G1G91 X #24 Y#25 Z#26 F#9 ;M99用戶宏程序用戶宏程序自變量賦值自變量賦值地址地址變量號變量號地址地址變量號變量號地址地址變量號變量號地址地址變量號變量號A#1I3#10I6#19I9#28B#2J3#11J6#20J9#29C#3K3#12K6#21K9#30I1#4I4#13I7#22I10#31J1#5J4#14J7#23J10#32K1#6K4#15K7#24K10#33I2#7I5#16I8#25-J2#8J5#17J8#26-K2#
47、9K5#18K8#27-I,J,K的的代表自變量賦值的順序,在實際編程中不寫代表自變量賦值的順序,在實際編程中不寫用戶宏程序用戶宏程序G65 A1.0 B2.0 I-3.0 I4.0 D5.0 P1000;CNC 內(nèi)部內(nèi)部自動識別自動識別自變量賦值自變量賦值和自變量賦值和自變量賦值。如果自變量賦值如果自變量賦值和自變量賦值和自變量賦值混合指定的話,混合指定的話,后指定的自變量類型有效后指定的自變量類型有效自變量指定的混合自變量指定的混合I1 #4I2 #7#7#7用戶宏程序用戶宏程序系統(tǒng)變量的存儲系統(tǒng)變量的存儲O0001;N10 G00 G90 X100.0 Y50.0;N11 G65 P99
48、99 U90.0 V120.0;N12 X200.0 Y100.0;M30;O9999;N1 G01 G91 X#21 F300;N2 Y#22;N3 X-#21;N4 Y-#22;M99;O9999;#30=#4001;#31=#4003;#32=#4109;N1 G01 G91 X#21 F300;N2 Y#22;N3 X-#21;N4 Y-#22;G#30 G#31 F#32;M99;用戶宏程序用戶宏程序傾斜的四邊形加工傾斜的四邊形加工Yx#21(U)#22(V)#1(A)aaCOSa SIN O9999;#30= #4001;#31= #4003;#32= #4109;#10= #21
49、 * COS#1;#11= #21 * SIN#1;#12= #22 * COS90 + #1;#13= #22 * SIN90 + #1;N1 G01 G91 X#10 Y#11 F300;N2 X#12 Y#13;N3 X-#10 Y-#11;N4 X-#12 Y-#13;G#30 G#31 F#32;M99;O0001;G92 X0 Y0;G00 G90 X100.0 Y50.0;G65 P9999 U100.0 V50.0 A30.0;M30;ACBD用戶宏程序用戶宏程序深孔鉆削深孔鉆削O0001;G00 G90 Z50.0;G65 P9999 Z-25.0 R3.0 Q-10.0 F
50、300;M30;O9999;#1= #18;#2= #18;#3= 0;WHILE#1 GT #26 DO1; #1= #1+ #17; IF#1 GE #26 GOTO1; #1= #26; G00 G90 Z#2+#3; G01 Z#1 F300; G00 Z#18; #2= #1; #3= 1.0;END1;M30;N1用戶宏程序用戶宏程序內(nèi)圓銑削內(nèi)圓銑削XYRO9999;#30= #4001;#31= #4003;#32= #4109;#1=#13000+#7;#2=#18 - #1;IF #2 LE 0 GOTO9;#3=#2/2;N1 G01 G91 X#3 Y#3 F#9;N2 G02 G17 X#3 Y-#3 R#3;N3 I-#2;N4 X -#3 Y-#3 R #3;N5 G01 X -#3 Y #3;G#30 G#31 G#32;M99;N9 #3000=1(OFFSET ERROR);O0001;G92 X0 Y0 Z0;G65 P9999 R5
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 窗簾面料的智能防護與隱私保護功能開發(fā)考核試卷
- 土壤修復項目土地流轉(zhuǎn)與權(quán)益保障協(xié)議
- 機場跑道快速修復技術(shù)施工與施工技術(shù)指導合同
- 頂級影視基地發(fā)電機組租賃及拍攝場地服務協(xié)議
- 智能化環(huán)保監(jiān)測設備供應及長期維護與升級合同
- 帶租約商鋪租金收益權(quán)買賣及資產(chǎn)評估報告使用合同
- 抖音平臺內(nèi)容創(chuàng)作者實名認證及合規(guī)承諾協(xié)議
- 智能家居系統(tǒng)數(shù)據(jù)安全補充協(xié)議
- 地鐵車站自動售檢票系統(tǒng)集成與運維服務協(xié)議
- 高端藝術(shù)品拍賣保證金制度與履約風險防控協(xié)議
- 餐廳水單萬能模板-可打印
- 電工電子實訓-DT830B
- 2022妊娠期及產(chǎn)褥期顱內(nèi)出血的臨床特點和治療策略(全文)
- 110kV電纜交流耐壓試驗方案
- 動力源開關電源說明書-dkd51系統(tǒng)維護手冊
- 手弧焊的基本操作
- 新概念英語青少版-2B全單元課件-unit-25(共32張)
- 初中八年級上冊信息技術(shù)《用Python編程》教學設計
- 施工項目安全交底確認書
- 貴州干部履歷表(2023版)
- 消火栓月檢查表
評論
0/150
提交評論