




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
一、變量的使用二、系統(tǒng)變量三、運算命令四、循環(huán)語句五、程序案例六、宏程序的調用七、宏語句的處理八、中斷宏程序九、格式數(shù)據(jù)輸入主要內(nèi)容:1用戶宏程序一、變量的使用主要內(nèi)容:1用戶宏程序單元一、概述2用戶宏程序單元一、概述2用戶宏程序主程序宏程序一、用戶宏程序用途3用戶宏程序主程序宏程序一、用戶宏程序用途3用戶宏程序
形狀類似但大小不同(圓、方及其它)
其它
自動化功能(刀具長度測量)換刀功能
特殊形狀(橢圓、球等)
大小相同但位置不同(組孔、陣列等)二、宏程序的適用范圍加工程序編程生產(chǎn)管理PMC強電控制4用戶宏程序形狀類似但大小不同(圓、方及其它)其它自動化功能(刀具宏程序子程序使用變量可使用變量不可以使用變量調用方式G65P_L_<自變量賦值>;M98P__;程序結束M99;M99;嵌套4重0i-D:5重★4重三、宏程序與子程序的比較注釋:★為0i-D、30i系列的新增功能5用戶宏程序宏程序子程序使用變量可使用變量不可以使用變量調用方式G65四、宏程序相關的參數(shù)#5(SBM)用戶宏程序語句中,0:單程序段不停止 1:單程序段停止#6(CCV)復位(Reset)后,公共變量#100~#199 0:清空 1:不清空#7(CLV)復位(Reset)后,局部變量#1~#330:清空 1:不清空0i-D沒有6001#7設置6用戶宏程序四、宏程序相關的參數(shù)#5(SBM)用戶宏程序語句中#4(NE9)編輯程序號為9000~9999的程序 0:不禁止 1:禁止#6(NPE)程序登錄時,對含有M02,M99,M30的程序段 0:視為登錄結束 1:不視為登錄結束NE8五、宏程序的保護1、參數(shù)設置7用戶宏程序#4(NE9)編輯程序號為9000~9999的程序 3210密碼鎖3210密碼鎖設置時須謹慎,若使用G10可編程數(shù)據(jù)輸入時,則出現(xiàn)PS0231#報警3211密碼鑰匙設定值后不顯示,斷電后為0參數(shù)6001#5設為1T代碼調用宏程序2、密碼保護8用戶宏程序3210密碼鎖3210密碼鎖3211密碼鑰匙參數(shù)6001#
變量的表示
變量的種類
變量的顯示與設定
變量的使用
未定義變量公共變量名稱★單元二、變量9用戶宏程序變量的表示單元二、變量9用戶宏程序第二章變量10用戶宏程序第二章變量10用戶宏程序一、變量的表示
例: #10, #1005表達式也可以用于指定變量號,但需封閉在括號內(nèi)例: #[#2-1], #[#500/2]可在程序段結尾加注釋說明變量內(nèi)容,但需用括號封閉 例:#2=#3-1(TOOLNUMBER)變量符號(#)+變量號變量的表示方法11用戶宏程序一、變量的表示 例: #10, #10變量號變量類型用途#0、#3100★空變量總為空,不能寫,只能讀#1~#33局部變量只能用在當前用戶宏程序中存儲變量斷電/復位后數(shù)據(jù)初始化#100~#199#500~#999公共變量在不同的程序中意義相同,各用戶宏程序公用.斷電后:#100~#199初始化為空,500~#999數(shù)據(jù)保存#1000~系統(tǒng)變量可用于讀寫CNC運行時的各種數(shù)據(jù)二、變量的種類12用戶宏程序變量號變量類型用途#0、#3100★空變量三、局部變量、公共變量、系統(tǒng)變量的用途和特性局部變量:#1~#33,初始狀態(tài)為<空>,自變量輸入可用程序或MDI方式輸入★,可以自由使用,屬性READ/WRTIE.公共變量:#100~#199、#500~#999,共600個,在主程序或調用的各子程序以及各個宏之間的通用.公共變量的用途沒有在系統(tǒng)中確定,用戶可自由使用.#100~#199斷電不保護,#500~#999斷電保護,屬性READ/WRTIE.公共變量的寫保護:參數(shù)6031~6032★對#500~#999進行保護,屬性為READ,以防止輸入/全清的誤操作.系統(tǒng)變量:在系統(tǒng)中固定,屬性有只讀、只寫、可讀可寫三種.系統(tǒng)常量:其值不變的常量,屬性只讀.13用戶宏程序三、局部變量、公共變量、系統(tǒng)變量的用途和特性局部變量:#1~四、變量的顯示與設定變量的顯示1).按下MDI面板上的功能鍵OFFSETSETTING2).按幾次鍵,直至出現(xiàn)14用戶宏程序四、變量的顯示與設定變量的顯示1).按下MDI面板上的功能鍵3).按下顯示宏程序變量值15用戶宏程序3).按下顯示宏程序變量值15用戶4).按、顯示局部和公共變量值16用戶宏程序4).按、顯示局部和公共變量的設定1.找到顯示公共變量的畫面。2.將光標移至欲設定的變量號上。鍵入變量號并按鍵或按換頁鍵、 和光標鍵將光標移至欲設定的變量號上3.鍵入數(shù)據(jù)并按17用戶宏程序公共變量的設定1.找到顯示公共變量的畫面。17用戶宏程序五、變量的使用
#i=<表達式>將計算結果賦值給對應的變量號常數(shù)、變量、函數(shù)和運算符的組合表示方法#1=#2+100;#1=#2+#18SIN[#5];18用戶宏程序五、變量的使用#i=<表達式>將計算結果當在程序中定義變量值時,小數(shù)點可以省略#1=123;#1123.000變量的引用跟在地址后面的數(shù)值可用變量來代替。G01X10.0F#1;F把#1值作為F的指令值G01X-[#1+#2]F#1;把表達式放在括號中變量的賦值19用戶宏程序當在程序中定義變量值時,小數(shù)點可以省略#1=123;#1變量用于地址數(shù)據(jù)時,被引用變量的值根據(jù)地址的最小設定單位自動地四舍五入例:G01X#1;當#1賦值為12.3456時,實際指令值為G01X12.346;設定單位1/1000mm(IS-B)改變引用變量的值的符號時,要把負號放在#的前面例:G00X-#1;20用戶宏程序變量用于地址數(shù)據(jù)時,被引用變量的值根據(jù)地址的最小設定單位自動當引用未定義的變量時,變量及地址字都被忽略例:G00X#1Y#2;當#1=0,#2為空時 實際指令為G00X0;
程序號、順序號和任選程序段跳轉號不能使用變量.以下表述是錯誤的.O#1;N#3Y200.0;/#2G00X10.;21用戶宏程序當引用未定義的變量時,變量及地址字都被忽略例:G00X#參數(shù)6008#0為0時,最大值±,最小值±參數(shù)6008#0為1時,最大值±,最小值±超出范圍出現(xiàn)PS0111#報警變量的范圍角度單位為度角度單位為度(°),最小指令單位0.001?22用戶宏程序參數(shù)6008#0為0時,最大值±,六、未定義變量當變量值未定義時,這樣的變量成為<空>變量變量#0總是空變量,它不能寫只能讀未定義變量的引用當引用一個未定義的變量時,地址本身也被忽略當#1=<空>時當#1=0時G90X100Y#1↓G90X100G90X100Y#1↓G90X100Y023用戶宏程序六、未定義變量當變量值未定義時,這樣的變量成為<空>變量變量系統(tǒng)變量與常量可通過變量號指定,也可通過事先準備的系統(tǒng)變量(常量)名稱來指定.1.系統(tǒng)變量它由_(下劃線)開始8個英文字母、數(shù)字構成.對軸和刀具補償,作為名稱的標號,可用[n](n為整數(shù)),n可用<表達式>即運算格式指定.七、系統(tǒng)變量與常量的名稱★24用戶宏程序七、系統(tǒng)變量與常量的名稱★24用戶宏程序注意:當n指定整數(shù)以外的數(shù)值時,n小數(shù)則按四舍五入處理.2.系統(tǒng)常量屬性R例[#-ABSIO[1.4999999]]:假定此值為[#-ABSIO[1]],也即#5001例[#-ABSIO[1.5000000]]:假定此值為[#-ABSIO[2]],也即#5002常量常量名稱內(nèi)容#0、#3100★[#-EMPTY]空值#3101★[#-PI]圓周率π=3.14159265……..#3102★[#-E]自然對數(shù)e=2.71828182…….25用戶宏程序注意:當n指定整數(shù)以外的數(shù)值時,n小數(shù)則按四舍五入處理.2.八、公共變量的名稱★由SETVN指定設定變量名稱,即可讀取或寫入.指令格式如[#VAR500],必須以[#公共變量名稱]的格式指定.公共變量名稱設定和指令時,可賦值#500~#549,共50個,公共變量8個字符,開頭必須是字母,斷電不消失.例如:SETVNn[AVR500,AVR501,AVR502,…..];變量號n、n+1、n+2的變量名稱:各字符串之間以“,”隔開.字符除了控制出、控制入、[、]、EOB26用戶宏程序八、公共變量的名稱★由SETVN指定設定變量名稱,即可讀取或九、設定和指令27用戶宏程序九、設定和指令27用戶宏程序單元三、系統(tǒng)變量28用戶宏程序單元三、系統(tǒng)變量28用戶宏程序接口信號刀具補償坐標系偏移(T)CNC報警時鐘和零件數(shù)時間信息自動運行控制設定單元三、系統(tǒng)變量29用戶宏程序接口信號單元三、系統(tǒng)變量29用戶宏程序模態(tài)信息位置信息刀具長度補償值伺服位置、手輪中斷、剩余運動量工件原點偏移
系統(tǒng)變量讀取CNC內(nèi)部信息數(shù)據(jù),如模態(tài)信息、坐標位置、刀具補償?shù)?系統(tǒng)變量對自動化程序和通用程序十分重要.系統(tǒng)變量及常量.n表示標號★,屬性R表示只讀、W表示只寫、R/W表示可讀/可寫.30用戶宏程序模態(tài)信息系統(tǒng)變量讀取CNC內(nèi)部信息數(shù)據(jù),如模態(tài)信息、一、接口信號...31用戶宏程序一、接口信號...31用戶宏程序32用戶宏程序32用戶宏程序33用戶宏程序33用戶宏程序...34用戶宏程序...34用戶宏程序35用戶宏程序35用戶宏程序36用戶宏程序36用戶宏程序舉例37用戶宏程序舉例37用戶宏程序38用戶宏程序38用戶宏程序1.變量范圍:#2001~#2800、#10001~#13400(屬性R/W)2.刀補A:參數(shù)8136#6為1★3.刀補小于等于200個,變量使用范圍#2001~#2200二、刀具補償量(M)39用戶宏程序1.變量范圍:#2001~#2800、#10001~#4.刀補400個:補償個數(shù)為400,#10001~#1040040用戶宏程序4.刀補400個:補償個數(shù)為400,#10001~#104刀具補償(M)刀具補償存儲器A,參數(shù)8136#6
★★為0i-D適用41用戶宏程序刀具補償(M)刀具補償存儲器A,參數(shù)8136#6★★為0i刀補補償存儲器C,參數(shù)8136#6=0;6000#3=0★42用戶宏程序刀補補償存儲器C,參數(shù)8136#6=0;6000#3=0★刀補補償存儲器C刀補補償存儲器C,參數(shù)8136#6=0;6000#3=1★43用戶宏程序刀補補償存儲器C刀補補償存儲器C,參數(shù)8136#6=0;60無刀具形狀/磨損補償器,參數(shù)8136#6=1★刀具補償個數(shù)小于等于64個刀具補償(T)44用戶宏程序無刀具形狀/磨損補償器,參數(shù)8136#6=1★刀具補償個刀具形狀/磨損補償器,參數(shù)8136#6=0★刀具補償(T)45用戶宏程序刀具形狀/磨損補償器,參數(shù)8136#6=0★刀具補償(T)4刀補C長度補償參數(shù)8136#6=0,★補償個數(shù)小于等于200個,參數(shù)6000#3=0.長度補償參數(shù)6000#3=1,補償個數(shù)小于等于200個.長度補償(F10/F11)46用戶宏程序刀補C長度補償參數(shù)8136#6=0,★補償個數(shù)小于等于20刀具半徑補償參數(shù)8136#6=0★,補償個數(shù)小于等于200個,參數(shù)6000#3=16004#5=1(F10/F11)半徑補償47用戶宏程序刀具半徑補償參數(shù)8136#6=0★,補償個數(shù)小于等于200補償個數(shù)為400個(小于等于200個也可使用#2001~#2800)參數(shù)6000#3=048用戶宏程序補償個數(shù)為400個(小于等于200個也可使用#2001~#2參數(shù)6000#3=149用戶宏程序參數(shù)6000#3=149用戶宏程序長度補償舉例寫入讀取50用戶宏程序長度補償舉例寫入讀取50用戶宏程序范圍:#2001~2964、#10001~#19200(屬性R/W)無刀具形狀和磨損補償器:8136#6=1★,補償個數(shù)小于等于64個刀具補償量(T)51用戶宏程序范圍:#2001~2964、#10001~#19200(屬性52用戶宏程序52用戶宏程序補償個數(shù)200個,補償個數(shù)小于等于64個,也可使用#2001~#2499.53用戶宏程序補償個數(shù)200個,補償個數(shù)小于等于64個,也可使用#2001有刀具形狀和磨損補償器:8136#6=1★,刀補個數(shù)小于等于64個磨損補償54用戶宏程序有刀具形狀和磨損補償器:8136#6=1★,刀補個數(shù)小于等于幾何補償55用戶宏程序幾何補償55用戶宏程序補償個數(shù)200個,補償個數(shù)小于等于64個,也可使用#2001~#2964.56用戶宏程序補償個數(shù)200個,補償個數(shù)小于等于64個,也可使用#2001工件坐標系偏移(T)三、工件坐標系偏移(T)可以利用系統(tǒng)變量#2501讀取X軸的工件坐標系偏移量的值,利用#2601讀取Z軸的工件坐標系偏移量的值。此外,將值代入系統(tǒng)變量,可以改變X軸和Z軸的工件原點坐標系偏移量。#2501、#2601(屬性:R/W)工件坐標系偏移量57用戶宏程序工件坐標系偏移(T)三、工件坐標系偏移(T)可以利用系統(tǒng)變量工件坐標系偏移量讀取寫入58用戶宏程序工件坐標系偏移量讀取寫入58用戶宏程序四、CNC報警參數(shù)6008#1=0★表達式后為不超過26個字符的報警信息屏幕上顯示報警號和報警信息,報警號為#3000的值加上3000#3000=1(WRONGDATAINPUT);屏幕顯示:3001WRONGDATAINPUT例:注釋:59用戶宏程序四、CNC報警#3000=1(WRONGDATAINPCNC報警有以下兩種使用情況:參數(shù)MCA(No.6008#1)=0時★#3000=n(ALARMMESSAGE);(n:0~200)將3000與變量#3000的值相加的報警號和報警信息一起在畫面上顯示出來。(例)#3000=1(ALARMMESSAGE);報警畫面上顯示出“3001ALARMMESSAGE”。參數(shù)MCA(No.6008#1)=1時#3000=n(ALARMMESSAGE);(n:0~4095),繼MC后,畫面上顯示出#3000報警號和報警信息。(例)#3000=1(ALARMMESSAGE);報警畫面上顯示出“MC0001ALARMMESSAGE”。60用戶宏程序CNC報警有以下兩種使用情況:60用戶宏程序時鐘控制
例如:2009年1月20日下午4時17分5秒#3011=20090112#3012=161705五、時鐘和零件數(shù)61用戶宏程序時鐘控制五、時鐘和零件數(shù)61用戶宏程序零件數(shù)刀補存儲器(M)#3980★主程序號主程序號#4000(屬性:R)
★,MDI及DNC方式#4000的值就改變?yōu)榇藭r指定的0號.#4000不管出在哪個層次的子程序內(nèi),始終讀取主程序號62用戶宏程序零件數(shù)主程序號#4000(屬性:R)★,MDI及DNC方六、時間信息變量號單位功能賦值#3001毫秒計時器。電源接通時復位為0??梢?3002小時計時器。循環(huán)啟動燈亮時開始計時。即使在斷電時也保存該值可以計時器地址#3001、#3002(屬性:R/W)63用戶宏程序六、時間信息變量號單位功能賦值#3001毫秒計時器。電源接64用戶宏程序64用戶宏程序七、自動運行控制#3000~#3008★時鐘計時器65用戶宏程序七、自動運行控制#3000~#3008★時鐘計時器6自動運行控制當電源接通時﹑復位,#3003的值為0.當單程序段停止無效時,即使操作面板上的單程序段開關設為ON,也不執(zhí)行單程序段停止.當不指定等待輔助功能(M、S和T功能)完成信號時,在輔助功能完成之前程序執(zhí)行到下列程序段,而且分配完成信號DEN不輸出.注意不要在沒有等待完成信號下指令下一個輔助指令.#3003(屬性R/W)66用戶宏程序自動運行控制當電源接通時﹑復位,#3003的值為0.#300可通過變量名稱實現(xiàn)個別控制.例鉆孔循環(huán)(增量編程)宏程序調用指令(相當于G81)67用戶宏程序可通過變量名稱實現(xiàn)個別控制.例鉆孔循環(huán)(增量編程)宏程序調用準確停止方式G09﹑G61#3004(屬性R/W)復位被清除68用戶宏程序準確停止方式G09﹑G61#3004(屬性R/W)復位被清除變量名稱指令69用戶宏程序變量名稱指令69用戶宏程序變量名稱指令70用戶宏程序變量名稱指令70用戶宏程序●當電源接通時,#3003和#3004的值為0.●當進給暫停無效時. 1當進給暫停按鈕被按下時,機床在單段停止方式停止,但是當用變量#3003使單程序段方式無效時,單程序段停止不執(zhí)行. 2當進給暫停按鈕壓下又松開時,進給暫停燈亮但是機床不停止,程序繼續(xù)執(zhí)行,并且機床停在進給暫停有效的第一個程序段.●當進給速度倍率無效時,總是100%的倍率,而不管機床操作面板上的進給速度倍率開關的設置如何.#3003=1﹑#3004=1時的運行情況71用戶宏程序●當電源接通時,#3003和#3004的值為0.#3003=攻絲案例攻絲宏程序72用戶宏程序攻絲案例攻絲宏程序72用戶宏程序八、SETTING值變量號功能賦值#3005設定數(shù)據(jù)可以#3005(屬性:R/W)處理的數(shù)值為將二進制轉換成十進制的數(shù)值73用戶宏程序八、SETTING值變量號功能賦值#3005設定數(shù)據(jù)可以#3伴隨信息同時停止#3006(屬性W)宏指令發(fā)出#3006=1(MESSAGE),程序即可在一個程序段停止,控制輸入\輸出字符26個字符以內(nèi),并使用括弧括起來.74用戶宏程序伴隨信息同時停止#3006(屬性W)74用戶宏程序鏡像狀態(tài)#3007(屬性:R)鏡像的狀態(tài)通過讀取#3007,即可得知每個軸在該時刻的鏡像(設定或DI)的狀態(tài)軸與二進制顯示時的各位(bit)對應:75用戶宏程序鏡像狀態(tài)#3007(屬性:R)鏡像的狀態(tài)通過讀取#3007,變量號功能賦值#3007使用外部開關或SETTING操作設置的各軸鏡像狀態(tài)可以通過輸出信號,鏡像檢測信號讀出不可76用戶宏程序變量號功能賦值#3007使用外部開關或SETTING操作設9、模態(tài)信息1.#4001~#4130程序段前指定的模態(tài)信息2.#4201~#4330★當前正在執(zhí)行的程序段的模態(tài)信息3.#4401~#4530★被中斷型用戶宏程序中斷的程序段之前指定的模態(tài)信息77用戶宏程序9、模態(tài)信息1.#4001~#4130程序段前指定的模態(tài)信息(M)78用戶宏程序模態(tài)信息(M)78用戶宏程序模態(tài)信息79用戶宏程序模態(tài)信息79用戶宏程序模態(tài)信息(M)80用戶宏程序模態(tài)信息(M)80用戶宏程序模態(tài)信息(M)81用戶宏程序模態(tài)信息(M)81用戶宏程序模態(tài)信息(T)82用戶宏程序模態(tài)信息(T)82用戶宏程序83用戶宏程序83用戶宏程序模態(tài)信息分類(M)分類:之前的程序段、執(zhí)行中的程序段、被中斷的程序段84用戶宏程序模態(tài)信息分類(M)分類:之前的程序段、執(zhí)行中的程序段、被中斷85用戶宏程序85用戶宏程序模態(tài)信息分類(T)分類:之前的程序段、執(zhí)行中的程序段、被中斷的程序段86用戶宏程序模態(tài)信息分類(T)分類:之前的程序段、執(zhí)行中的程序段、被中斷87用戶宏程序87用戶宏程序例如88用戶宏程序例如88用戶宏程序十、位置信息89用戶宏程序十、位置信息89用戶宏程序位置信息#5001~#5065(屬性:R)位置信息包括程序段的終點位置、當前位置(機械坐標系、工件坐標系)、跳過信號位置90用戶宏程序位置信息#5001~#5065(屬性:R)位置信息包括程序段91用戶宏程序91用戶宏程序位置信息例:讀取X軸的位置信息程序指令X軸坐標位置變量地址號92用戶宏程序位置信息例:讀取X軸的位置信息程序指令X軸坐標位置變量十一、刀具長度補償(M)93用戶宏程序十一、刀具長度補償(M)93用戶宏程序刀具長度補償(M)#5081~#5085(屬性:R)當前正在執(zhí)行的程序段中的刀具長度補償量94用戶宏程序刀具長度補償(M)#5081~#5085(屬性:R)94用戶刀具長度補償例:使用刀具長度補償(M)95用戶宏程序刀具長度補償例:使用刀具長度補償(M)95用戶宏程序刀具位置偏置(T)96用戶宏程序刀具位置偏置(T)96用戶宏程序刀具位置偏置(T)#5081~#5085(屬性:R)97用戶宏程序刀具位置偏置(T)#5081~#5085(屬性:R)97用戶刀具位置偏置(T)#5081~#5085,#5121~#5125(屬性:R)98用戶宏程序刀具位置偏置(T)#5081~#5085,#5121~#5199用戶宏程序99用戶宏程序刀補C幾何補償磨損補償100用戶宏程序刀補C幾何補償磨損補償100用戶宏程序伺服位置偏差#5101~#5105(屬性:R)伺服位置偏差值十二、伺服位置\手輪中斷\剩余移動101用戶宏程序伺服位置偏差#5101~#5105(屬性:R)伺服位置偏差值手輪中斷#5121~#5125(屬性R)★手輪中斷值(T)102用戶宏程序手輪中斷#5121~#5125(屬性R)★手輪中斷值102剩余移動量剩余移動量#5181~#5185(屬性R)★103用戶宏程序剩余移動量剩余移動量#5181~#5185(屬性R)★1十三、工件原點偏移(基本)M系列/T系列104用戶宏程序十三、工件原點偏移(基本)M系列/T系列104用戶宏程序工件原點偏移#5201~#5325(屬性:R/W)工件原點偏移105用戶宏程序工件原點偏移#5201~#5325(屬性:R/W)工件原點偏工件原點偏移(M/T)寫入讀出106用戶宏程序工件原點偏移(M/T)寫入讀出106用戶宏程序(M)107用戶宏程序(M)107用戶宏程序108用戶宏程序108用戶宏程序(T)109用戶宏程序(T)109用戶宏程序110用戶宏程序110用戶宏程序附加坐標系(M)111用戶宏程序附加坐標系(M)111用戶宏程序附加坐標系(M)#7001~#7945
(屬性R/W)附加坐標系系統(tǒng)變量號=7000+(坐標系號-1)×20+軸號112用戶宏程序附加坐標系(M)#7001~#7945(屬性R/W)附加坐系統(tǒng)變量號=14000+(坐標系號-1)×20+軸號工件坐標系組數(shù)追加48組,設定為有效參數(shù)N0.8136#2=0有效#14001~#14945★附加坐標系113用戶宏程序#14001~#14945★附加坐標系113用戶宏程序114用戶宏程序114用戶宏程序單元四、運算指令表達式運算命令的種類運算順序關于加工精度宏語句與NC語句的區(qū)別
115用戶宏程序單元四、運算指令表達式115用戶宏程序運算指令右邊的<表達式>可以是常量、變量、函數(shù)或算符的組合表達式中使用不帶小數(shù)點的常量一、表達式116用戶宏程序運算指令右邊的<表達式>可以是常量、變量、函數(shù)或算符的組合一種類符號格式加法+#i=#j+#k減法-#i=#j-#k乘法*#i=#j*#k除法/#i=#j/#k二、運算命令的種類加減乘除117用戶宏程序種類符號格式加法+#i=#j+#k減法種類符號格式結果正弦SIN#i=SIN[θ]c/a余弦COS#i=COS[θ]b/a正切TAN#i=TAN[θ]c/b反正弦ASIN#i=ASIN[c/a]θ反余弦ACOS#i=ACOS[b/a]θ反正切ATAN#i=ATAN[c]/[b]θ注:三角函數(shù)的角度單位為度(°)。如:90°30′表示為90.5三角函數(shù)118用戶宏程序種類符號格式結果正弦SIN#i=SIN[θ]c/反三角函數(shù)的取值范圍函數(shù)No.6004#0=0No.6004#0=1ATAN0~360-180~+180ASIN270~90-90~90ACOS180~0#1=SIN[90];#1=COS[90];#1=TAN[45];#1=ATAN[1]/[1];#1=ATAN[-1]/[-1];10145225#1#1#1#1#1反三角函數(shù)119用戶宏程序反三角函數(shù)的取值范圍函數(shù)No.6004#0=0No.600種類函數(shù)名格式平方根SQRT#i=SQRT[#k]自然對數(shù)LN#i=LN[#k]指數(shù)函數(shù)冪EXPPOW#i=EXP[#k]#i=POW[#i,#j]★#2=2;#1=SQRT[#2];1.414#1其它函數(shù)120用戶宏程序種類函數(shù)名格式平方根SQRT#i=SQRT[#種類函數(shù)名格式下取整FIX#i=FIX[#k]上取整FUP#i=FUP[#k]四舍五入ROUND#i=ROUND[#k]絕對值ABS#i=ABS[#k]下取整(FIX):舍去小數(shù)點以下部分上取整(FUP):將小數(shù)后部分進位到整數(shù)部分ROUND函數(shù):在算術運算或邏輯運算指令中使用時,在第1個小數(shù)位置四舍五入在NC語句地址中使用時,根據(jù)地址的最小設定單位將指定值四舍五入數(shù)據(jù)處理函數(shù)121用戶宏程序種類函數(shù)名格式下取整FIX#i=FIX[#k運算指令#2=1.2346時#2=-1.6794時#1=FIX[#2]#1=FUP[#2]#1=ROUND[#2]#1=ABS[#2]G01X[ROUND[#2]];G01X1.235G1X-1.6791.02.0-1.0-2.01.01.2346-2.01.6794計算相應的變量值#1下取整(FIX):舍去小數(shù)點以下部分上取整(FUP):將小數(shù)后部分進位到整數(shù)部分122用戶宏程序運算指令#2=1.2346時#2=-1.6794時#1=F三、運算順序①函數(shù)②乘除運算(*,/,AND)③加減運算(+,-,OR,XOR)#1=#2+#3*SIN[#4];①②③123用戶宏程序三、運算順序①函數(shù)#1=#2+#3*SIN[#4
可以利用[]來改變運算順序,可嵌套5次
可以使用函數(shù)名前面的兩個字母來指定該函數(shù)。 ROUND→RO FIX→FI注意124用戶宏程序可以利用[]來改變運算順序,可嵌套5次可以使用函數(shù)名四、關于加工精度參數(shù)6008#0=0需要注意的是,當絕對值被減掉時,不能將相對誤差控制在低于10-15,原因在于用戶宏程序變量只有10進制15位的控制精度.加減法的運算EQ﹑NE﹑GT﹑LT﹑GE﹑LE基本上與加減法運算相同,需要注意其誤差.邏輯關系例如:IF[#1EQ#2]IF[ABS[#1-#2]LT0.1],必須評價此時的誤差,如果#1和#2的差在該誤差的范圍內(nèi),則可以認為其值相等.三角函數(shù)在三角函數(shù)運算后進行乘法\除法運算時需要引起注意.注意事項125用戶宏程序四、關于加工精度參數(shù)6008#0=0需要注意的是FIX函數(shù)FIX函數(shù)也要同樣注意其精度.N1#1=0.002;N2#2=#1*1000;N3#3=FIX[#2];此時#3不見得就成為2,為了預防此情況,應按照如下指定N3#3=FIX[#2+0.001]126用戶宏程序126用戶宏程序127用戶宏程序127用戶宏程序注意:誤差還會來自使用6個條件表達式
[例]IF[#1EQ#2]受#1和#2的誤差影響,可能導致判斷錯誤.因此,如IF[ABS[#1-#2]LT0.001]所示,求出兩個變量之差,如果該差值不超過允許值(例子中為0.001),則可以這兩變量的值相等.對一個數(shù)值進行只舍不入時,應十分小心[例]#1=0.001計算#2=#1*1000;時,#2的結果不正好是2,而是1.99999997.此時,如果指定#3=FIX[#2];變量#3的結果不正是2.0而是1.0.在這種情況下,進行誤差修正之后,對該值應進行只舍不入或四舍五入,使結果大于預期的整數(shù)值.#3=FIX[#2+0.001];#3=ROUND[#2];128用戶宏程序注意:誤差還會來自使用6個條件表達式[例]IF[#表達式括號的使用在表達式中使用的括號為方括號[],注意圓括號()用于程序注釋.除法運算中分母為”0”時,則會出現(xiàn)(PS0112#報警).當指定超出控制軸數(shù)時,則會出現(xiàn)(PS0115#報警變量號超限).括號的嵌套超過5位,則會出現(xiàn)(PS0118#報警).自然對數(shù),當逆對數(shù)(#j)小于等于0時,則會出現(xiàn)(PS0119#報警).指數(shù)函數(shù),運算結果溢出時,則會出現(xiàn)(PS0119#報警).129用戶宏程序表達式括號的使用在表達式中使用的括號為方括號[],五、用戶宏程序的特點
含運算指令(=)的程序段含控制指令(如GOTO\DO\END)的程序段含宏指令(由G65\G66\G67\G代碼或M代碼的宏指令的程序段。除宏語句以外的程序段稱為NC語句.即使在單程序段方式,機床也不會停止,但是,當參數(shù)SBM(N0.6000#5)設為1時,在單程序運行方式中機床停止。在刀具半徑補償方式中,宏程序語句段不作為不移動程序段處理。130用戶宏程序五、用戶宏程序的特點130用戶宏程序含有子程序調用指令(例如用M98或其它M代碼或用T代碼調用子程序)但沒有除O,N或L地址之外的其它地址指令的NC語句其性質與宏程序相同不包含除O、N、P或L以外的指令地址的程序段,其性質與宏程序語句相同與宏程序語句有相同性質的NC語句131用戶宏程序含有子程序調用指令(例如用M98或其它M代碼或用T代碼調用單元五、控制指令無條件轉移(GOTO語句)條件轉移(IF語句)條件表達式循環(huán)(WHILE語句)限制
132用戶宏程序單元五、控制指令無條件轉移(GOTO語句)132用戶宏程序改變流程1在程序中,可以使用GOTO語句和IF語句等來改變程序的流程.2轉移和重復有下列三種133用戶宏程序改變流程1在程序中,可以使用GOTO語句和IF語句一、無條件轉移(GOTO語句)
GOTOn; n:程序段號(1-99999)該語句使程序無條件地轉移到程序段n去。例如n也可用變量或表達式來代替例如 GOTO#10;當順序號在1~99999范圍以外,就會出現(xiàn)(PS1128#報警)警告:不可在一個程序中指定多個相同順序號的程序段,若是這樣,利用GOTO語句轉移時,轉移目的地不確定,這樣十分危險.GOTO10;134用戶宏程序一、無條件轉移(GOTO語句)GOTOn; n
順序號存儲型GOTO在執(zhí)行控制指令GOTO語句時,對于以前執(zhí)行并存儲的順序號,高速地進行順序號檢索,以前執(zhí)行并存儲的順序號,指就所執(zhí)行的順序號在相同程序內(nèi)沒有重復的順序號以及子程序調用的順序號,CNC對此進行存儲135用戶宏程序順存儲的順序號在下列情況下將被取消
通電、復位、程序的登錄和編輯(含后臺及MDI的程序編輯)時,請勿在一個程序中指定多個相同的程序段號。這樣十分危險。136用戶宏程序存儲的順序號在下列情況下將被取消136用戶宏程序
IF[<條件表達式>]GOTOn;若滿足<條件表達式>,則下步操作轉移到程序段號為n的程序段去若不滿足,執(zhí)行下個程序段。二、條件轉移(IF語句)
IF[<條件表達式>]THEN…;若滿足<條件表達式>,執(zhí)行THEN后的宏程序語句,只執(zhí)行一個語句。 例:IF[#1EQ#2]THEN#3=0;137用戶宏程序IF[<條件表達式>]GOTOn條件表達式條件不滿足時執(zhí)行的操作條件滿足時是否IFGOTO138用戶宏程序條件表達式條件不滿足時執(zhí)行的操作條件滿足時是否IFGOTO1139用戶宏程序139用戶宏程序表達式含義英文#jEQ#k#j=#kEQual#jNE#k#j≠#kNotEqual#jGT#k#j>#kGreaterThan#jLT#k#j<#kLessThan#jGE#k#j≥#kGreaterorEqual#jLE#k#j≤#kLessorEqual注:#j和#k也可用<表達式>來代替。三、條件表達式140用戶宏程序表達式含義英文#jEQ#k#j=#kEQ程序例子141用戶宏程序程序例子141用戶宏程序四、循環(huán)(WHILE語句)
WHILE[<條件表達式>]DOm;(m=1,2,3)條件成立時執(zhí)行的程序
ENDm;DOm和ENDm必須成對使用,并以其中的m作為識別號相互識別。m的范圍為1,2,3??梢愿鶕?jù)需要多次使用。142用戶宏程序四、循環(huán)(WHILE語句)WHILE[<條件表達式143用戶宏程序143用戶宏程序識別號(1,2,3)可多次使用WHILE[…]DO1;程序END1;WHILE[…]DO1;程序END1;當重復的循環(huán)相互交叉時,會發(fā)出PS0124#報警144用戶宏程序識別號(1,2,3)可多次使用WHILE[…]DO1DO的區(qū)域不能交叉下列表達是錯誤的WHILE[…]DO1;程序WHILE[…]DO2;END1;程序END2;DO一定要在END之前規(guī)定下列表達是錯誤的END1;程序WHILE[…]DO1;145用戶宏程序DO的區(qū)域不能交叉WHILE[…]DO1;DO一定要在DO循環(huán)可以嵌套3級WHILE[…]DO1;●WHILE[…]DO2;●WHILE[…]DO3;
程序END3;●END2;●END1;146用戶宏程序DO循環(huán)可以嵌套3級WHILE[…]DO1;146用戶可以從DO區(qū)域的內(nèi)部向外部轉移,例如WHILE[…]DO1;程序IF[…]GOTOn;END1;程序Nn…;不可以從DO區(qū)域的外部向內(nèi)部轉移,例如下列表達是錯誤的IF[…]GOTOn;WHILE[…]DO1;程序Nn…;END1;147用戶宏程序可以從DO區(qū)域的內(nèi)部向外部轉移,例如WHILE[…]DO常用格式(當前值)=(初值);WHILE[(當前值)比較(目標值)]DOm;(執(zhí)行循環(huán)操作);(當前值)=(當前值)±1;ENDm;148用戶宏程序常用格式(當前值)=(初值);148用戶宏程序五、控制語句的使用限制無限循環(huán):當指定DOm而省略WHILE語句時,程序則在DO到END之間無限循環(huán)。處理時間:當要轉移到GOTO語句中指定的順序號時,程序先檢索順序號,反向處理數(shù)據(jù)比正向要用較長的時間,為了縮短處理時間,作為重復指令,請使用WHILE語句。未定義的變量:在使用EQ、NE的條件表達式中,〈空值〉和0(零)有不同的效果,在別的條件表達式中,〈空值〉被看成0。149用戶宏程序五、控制語句的使用限制無限循環(huán):當指定DOm而省略WHILE程序例子求1~10之和
150用戶宏程序程序例子求1~10之和
150用戶宏程序G00G91X100.0;Y100.0;要求:對以上動作重復執(zhí)行三次。設#1為動作執(zhí)行次數(shù),初始值為零。#1=0;G00G91X100.0;Y100.0;#1=1;G00G91X100.0;Y100.0;#1=2;G00G91X100.0;Y100.0;#1=3;#1=0;WHILE[#1LT3]DO1;
G00G91X100.0;Y100.0;
#1=#1+1;END1;計數(shù)器累加重復執(zhí)行的動作計數(shù)器復位151用戶宏程序G00G91X100.0;要求:對以上動作重復執(zhí)行三次。單元六、程序案例●粗銑圓內(nèi)腔●粗車外圓●自動設定坐標系152用戶宏程序單元六、程序案例●粗銑圓內(nèi)腔152用戶宏程序一、粗銑圓內(nèi)腔#5:圓半徑的增量#18:最終圓弧半徑O9999;#5=10.0;#18=45.0;#1=0;#2=0;
WHILE[#1LT#18]DO1;#1=#1+#5;
IF[#1LE#18]GOTO1;#1=#18;G01G91Y[#1-#2]F300;G02J-#1;#2=#1;
END1;M30;N1當次圓弧半徑前次圓弧半徑153用戶宏程序一、粗銑圓內(nèi)腔#5:圓半徑的增量O9999;N1當次圓弧半徑程序案例O0099G00G90G54X0Y0G43Z5.H1S1500M3G1Z-5F300#5=10#18=45#1=0#2=0WHILE[#1LT#18]DO1#1=#1+#5IF[#1LT#18]GOTO1#1=#18N1G1G91Y[#1-#2]F300G2J-#1#2=#1END1G00Z100M5M30154用戶宏程序程序案例O0099154用戶宏程序二、粗車外圓WHILE[#26GT0]DO1;#26=#26-#6;
IF[#26GE0]GOTO1;#6=#6+#26;G00W-[#6+#4];G01U-#24F#9;#4=#3;G00U[#4*2]W#4;U[#24-#4*2];END1;M30;O9999;#3=1.0;#4=0;#6=10.0;#9=300.0;#24=20.0;#26=48.0;#26#3#6#24#3:空程量#6:每次切削量#9:切削速度#24:X方向切削量#26:Z方向切削量N1155用戶宏程序二、粗車外圓WHILE[#26GT0]DO1;O999程序案例O0202T0101G00X50.Z0G98S2000M3#3=1.#4=0#6=10.#9=300.#24=20.#26=48.WHILE[#26GT0]DO1#26=#26-#6IF[#26GE0]GOTO1#6=#6+#26N1G00W-[#6+#4]G1U-#24F#9#4=#3G00U[#4*2]W#4U[#24-#4*2]END1G00X50.Z0M5M30156用戶宏程序程序案例O0202N1G00W-[#6+#4]156用戶宏程O1210G00G54G90X0Y0G31X100.F200#500=#5061G00X0G31X-100.F200#501=#5061#502=[#500+#501]/2G10
G91L2P1X#502M30
三、自動設定坐標系157用戶宏程序O1210三、自動設定坐標系157用戶宏程序O9999
IF[#4111EQ0]GOTO9;#1=#5043;G00G90G43Z50.0;M00;#[11000+#4111]=#5043;G00G49Z#1;M30;N9#3000=9(OFFSET#ERROR);操作步驟#[2200+#4111]手動刀具長度測量158用戶宏程序O9999操作步驟#[2200+#4111]手動刀具長度測量159用戶宏程序159用戶宏程序160用戶宏程序160用戶宏程序單元七、用戶宏程序調用非模態(tài)調用G65兩種形式的自變量賦值規(guī)定系統(tǒng)變量的存儲模態(tài)調用G66G、M代碼調用宏程序M、T代碼調用子程序使用M代碼計算刀具使用時間利用特定代碼的子程序161用戶宏程序單元七、用戶宏程序調用非模態(tài)調用G65161用戶宏程序一、宏程序調用限制162用戶宏程序一、宏程序調用限制162用戶宏程序O9999;#21=90.0;#22=120.0;N1G01G91X#21F300;N2Y#22;N3X-#21;N4Y-#22;M30;簡單的四邊形銑削163用戶宏程序O9999;簡單的四邊形銑削163用戶宏程序簡單的四邊形銑削O0001;M98P9999;M30;O9999;#21=90.0;#22=120.0;N1G01G91X#21F300;N2Y#22;N3X-#21;N4Y-#22;M99;O0001;#21=90.0;#22=120.0;M98P9999;M30;O9999;N1G01G91X#21F300;N2Y#22;N3X-#21;N4Y-#22;M99;O0001;M98P9999#21=90.0#22=120.0;M30;O0001;G65P9999U90.0V120.0;M30;UV164用戶宏程序簡單的四邊形銑削O0001;O9999;O0001;O999
G65PpLl〈自變量賦值〉;
要調用的程序號重復次數(shù)用G65指令,把由P指令的宏程序體調用L次指定的重復次數(shù)的范圍為1~999999999,L的缺省值為1按照〈自變量賦值〉的規(guī)定,將自變量的實際數(shù)值調到相應的程序體中宏程序調用有2類:宏程序調用和子程序調用,MDI方式也有效二、非模態(tài)調用G65165用戶宏程序G65PpLl〈自O0001;●●●G65P9010L2A1.0B2.0;●●●M30;O9010;#3=#1+#2;IF[#3GT360]GOTO9;G00G90X#3;N9M99;指定重復次數(shù)時,在地址L后,指定重復次數(shù)(1~999999999)的范圍簡單調用(G65)166用戶宏程序O0001;O9010;指定重復次數(shù)時,在地址L后,指定重復
三、自變量賦值規(guī)定自變量賦值Ⅰ自變量賦值Ⅱ167用戶宏程序三、自變量賦值規(guī)定自變量賦值Ⅰ167用戶宏程序自變量賦值Ⅰ地址變量號地址變量號地址變量號A#1I#4T#20B#2J#5U#21C#3K#6V#22D#7M#13W#23E#8Q#17X#24F#9R#18Y#25H#11S#19Z#26168用戶宏程序自變量賦值Ⅰ地址變量號地址變量號地址變量號A#1I#4T#2
對字母A-Z后加數(shù)值來賦值,但G,L,N,O,P除外
I,J,K須按字母順序指定169用戶宏程序對字母A-Z后加數(shù)值來賦值,但G,L,N,O,P除外1G65P9003X30.Y45.Z-3.F300;#9=300;#24=30.0;#25=45.0;#26=-3.0;170用戶宏程序G65P9003X30.Y45.Z-3.自變量賦值Ⅱ地址變量號地址變量號地址變量號地址變量號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#9K5#18K8#27--注意:I,J,K的下標代表自變量賦值的順序,在實際編程中不寫171用戶宏程序自變量賦值Ⅱ地址變量號地址變量號地址變量號地址變量號A#1I限制172用戶宏程序限制172用戶宏程序G65A1.0B2.0I-3.0I4.0D5.0
P1000;CNC內(nèi)部自動識別自變量賦值Ⅰ和自變量賦值Ⅱ。如果自變量賦值Ⅰ和自變量賦值Ⅱ混合指定的話,后指定的自變量類型有效自變量指定的混合注意:MDI方式運行程序同樣可以調用程序173用戶宏程序G65A1.0B2.0I-3.0I4.0D5.0四、系統(tǒng)變量的存儲O0001;N10G00G90X100.0Y50.0;N11G65P9999U90.0V120.0;N12X200.0Y100.0;M30;O9999;N1G01G91X#21F300;N2Y#22;N3X-#21;N4Y-#22;M99;O9999;#30=#4001;#31=#4003;#32=#4109;N1G01G91X#21F300;N2Y#22;N3X-#21;N4Y-#22;G#30G#31F#32;M99;174用戶宏程序四、系統(tǒng)變量的存儲O0001;O9999;O9999;174例:傾斜的四邊形加工Yx#21(U)#22(V)#1(A)aa*COSθa*SINθθO0001;G92X0Y0;G00G90X100.0Y50.0;G65P9999U100.0V50.0A30.0;M30;175用戶宏程序例:傾斜的四邊形加工Yx#21(U)#22(V)#1(A)aO9999;#30=#4001;#31=#4003;#32=#4109;#10=#21*COS[#1];#11=#21*SIN[#1];#12=#22*COS[90+#1];#13=#22*SIN[90+#1];N1G01G91X#10Y#11F300;N2X#12Y#13;N3X-#10Y-#11;N4X-#12Y-#13;G#30G#31F#32;M99;176用戶宏程序O9999;176用戶宏程序
例:深孔鉆削O0001;G00G90Z50.0;G65P9999Z-25.0R3.0Q-10.0F300;M30;O9999;#1=#18;#2=#18;#3=0;WHILE[#1GT#26]DO1;#1=#1+#17;
IF[#1GE#26]GOTO1;#1=#26;
G00G90Z[#2+#3];G01Z#1F300;G00Z#18;#2=#1;
#3=1.0;END1;M30;N1177用戶宏程序例:深孔鉆削O0001;O9999;N1177用戶例:內(nèi)圓銑削XYRO9999;#30=#4001;#31=#4003;#32=#4109;#1=#[13000+#7];#2=#18-#1;IF[#2LE0]GOTO9;#3=#2/2;N1G01G91X#3Y#3F#9;N2G02G17X#3Y-#3R#3;N3I-#2;N4X-#3Y-#3R#3;N5G01X-#3Y#3;G#30G#31G#32;M99;N9#3000=1(OFFSETERROR);O0001;G92X0Y0Z0;G65P9999R50.0D1F300;M30;R:圓半徑(#18)D:刀具半徑補償號(#7)F:進給速度(#9)178用戶宏程序例:內(nèi)圓銑削XYRO9999;O0001;R:圓半徑(#18179用戶宏程序179用戶宏程序例:圓周上等距鉆孔BBBX:圓心坐標(#24)Y:圓心坐標(#25)Z:孔的深度(#26)R:鉆孔初始高度坐標(#18)U:圓弧半徑(#21)A:起始角度(#1)B:角度增量值(#2)H:孔的個數(shù)(#11)F:進給速度(#9)180用戶宏程序例:圓周上等距鉆孔BBBX:圓心坐標(#24)180用戶宏程調用格式181用戶宏程序調用格式181用戶宏程序調用的宏程序O0002G0G90G54X0Y0G65P9100X100Y50R30Z-50F500I100A0B45H5M30182用戶宏程序調用的宏程序O0002182用戶宏程序183用戶宏程序183用戶宏程序例:程序案例184用戶宏程序例:程序案例184用戶宏程序O0001;G92X0Y0;G65P9999U100.0R80.0A1.0F300;M30;例:橢圓插補O9999;#30=#4001;#31=#4003;#32=#4109;#5=#1;#24=#5001;#25=#5002;WHILE[#5LE360]DO1;#2=#24+#21*COS[#5];#3=#25+#18*SIN[#5];G01G90X#2Y#3F#9;#5=#5+#1;END1;G#30G#31F#32;M99;185用戶宏程序O0001;例:橢圓插補O9999;185用戶宏程序O9999;
#30=#4001;#31=#4003;#32=#4109;#1=300;#2=100;G28G91Z0;#4=#5003;例:自動刀具長度測量G00G90G53X200.0Y150.0;G91G43Z-#1H#11;#5=#5003-#2;G31Z-[#2*2]F300;G00G90G49Z#4;#6=#5063-#[11000+#11];IF[#6LE[#5-#2]]GOTO9;#[11000+#11]=#5063-#5;G#30G#31F#32;M99;N9#3000=1(CANNOTMEASURE);①②③④186用戶宏程序O9999;例:自動刀具長度測量G00G90G53X2
O9500;
#1=#4001;#3=#4003;#9=#4019;G28G91Z0;G28X0Y0;G53G90X100.0Y50.0;G31G91Z-200.0F200;#5=#5063;#[2000+#11]=#5;G53G90G49G00Z0;IF[#5EQ–200.0]GOTO9;G28G91Z0;G28X0Y0;
G#1G#3F#9;M99;N9#3000=1;187用戶宏程序O9500;187用戶宏程序例:車床鉆孔宏程序調用宏程序O0002T0101;G98G0X0Z102S1000M3G65P9100Z50K20F150G0X100Z200M5M30188用戶宏程序例:車床鉆孔宏程序調用宏程序O0002188用戶宏程序189用戶宏程序189用戶宏程序五、模態(tài)調用G66G66PpLl〈自變量賦值〉; ????;????;G67; 軸每移動一次,調用一次用戶宏程序p:要調用的宏程序號l:重復次數(shù)(默認值為1)G67:取消模態(tài)調用指令190用戶宏程序五、模態(tài)調用G66G66PpLl〈自變量賦O0001;●●G66P9100L2A1.0B2.0;G00G90X100.0;Y200.0;X150.0Y300.0;G67;●●M30;O9100;●●G00Z-#1;G01Z-#2F300;●●●●M99;程序案例191用戶宏程序O0001;O9100;程序案例191用戶宏程序限制192用戶宏程序限制192用戶宏程序193用戶宏程序193用戶宏程序194用戶宏程序194用戶宏程序例:車床切槽使用G66調用宏指令的程序宏指令(被調用的程序)195用戶宏程序例:車床切槽使用G66調用宏指令的程序宏指令(被調用的程序)G指令調用六、G、M指令進行宏程序方式調用G65P9010X100.Y20.R3.Z-20.F300;G81X100.Y20.R3.Z-20.F300;將宏程序調用指令G65P901×用G△△來代替宏程序號901×與G代碼△△之間的對應關系由參數(shù)指定在被調用的宏程序中不能再使用G、M代碼調用宏程序,程序體中的G、M代碼作為普通的G、M代碼處理變量賦值196用戶宏程序G指令調用六、G、M指令進行宏程序方式調用G65P9010宏程序調用指令鉆孔循環(huán)主程序宏程序●如果設定了負的G代碼,成為模態(tài)調用(相當于G66)●用戶不必改變加工程序即可調用用戶宏程序創(chuàng)建的固定程序●與簡單調用一樣,兩類自變量指定:第一類自變量指定和第二類自變量指定,類型根據(jù)所用地址自動識別197用戶宏程序宏程序鉆孔循環(huán)主程序宏程序●如果設定了負的G代碼,成為模態(tài)調程序號參數(shù)號O90106050O90116051O90126052O90136053O90146054O90156055O90166056O90176057O90186058O90196059將參數(shù)No.6050設為81G代碼調用宏程序時程序和參數(shù)對應關系198用戶宏程序程序號參數(shù)號O90106050O90116051O90126199用戶宏程序199用戶宏程序利用G代碼進行的宏程序調用(多個指定)★200用戶宏程序利用G代碼進行的宏程序調用(多個指定)★200用戶宏程序201用戶宏程序201用戶宏程序用M指令調用用戶宏程序G65P9020A1.0B2.0;M50A1.0B2.0;將宏程序調用指令G65P902×用M△△來代替宏程序號902×與M代碼△△之間的對應關系由參數(shù)指定在被調用的宏程序中不能再使用M、G代碼調用宏程序,程序體中的M、G代碼作為普通的M、G代碼處理變量賦值202用戶宏程序用M指令調用用戶宏程序G65P9020A1.0B2.0利用M代碼調用宏程序注釋:調用方法與G65調用相同。自變量指定方法與簡單調用一樣,兩類自變量指定方法:第一類自變量指定法和第二類自變量指定法的類型根據(jù)所用地址自動識別。203用戶宏程序利用M代碼調用宏程序注釋:203用戶宏程序限制●用來調用宏指令的M代碼必須指定在程序的開頭。●由M代碼調用的程序中調用其他程序時可以使用G65、G66、M98指令?!駞?shù)6008#6=1時,可由M代碼調用的程序中執(zhí)行利用G代碼的調用。204用戶宏程序限制204用戶宏程序程序號參數(shù)號O90206080O90216081O90226082O90236083O90246084O90256085O90266086O90276087O90286088O90296089將參數(shù)No.6080設為50M代碼調用宏程序時205用戶宏程序程序號參數(shù)號O90206080O90216081O90226利用M代碼調用宏程序★206用戶宏程序利用M代碼調用宏程序★206用戶宏程序207用戶宏程序207用戶宏程序用G代碼模態(tài)調用宏程序208用戶宏程序用G代碼模態(tài)調用宏程序208用戶宏程序M指令調用七、M、T指令進行子程序方式調用M98P9001;M03;將子程序調用指令M98P900×用M△△來代替宏程序號900×與M代碼△△之間的對應關系由參數(shù)指定在被調用的子程序中不能再使用G、M代碼調用宏程序,程序體中的G、M代碼作為普通的G、M代碼處理不能進行變量賦值注釋:209用戶宏程序M指令調用七、M、T指令進行子程序方式調用M98P9001程序號參數(shù)號O90016071O90026072O90036073O90046074O90056075O90066076O90076077O90086078O90096079將參數(shù)No.6071設為03M代碼調用子程序時210用戶宏程序程序號參數(shù)號O90016071O90026072O90036子程序調用指令輔助功能當參數(shù)No.6071設為06時211用戶宏程序子程序調用指令輔助功能當參數(shù)No.6071設為06時211利用M代碼調用多個子程序★212用戶宏程序利用M代碼調用多個子程序★212用戶宏程序213用戶宏程序213用戶宏程序用T指令調用子程序當參數(shù)No.6001#5設為1時,使用T代碼可調用O9000程序,T代碼所指定的數(shù)值自動賦值給變量#149214用戶宏程序用T指令調用子程序當參數(shù)No.6001#5設為1時,214用限制●通常在由T代碼調用的程序中調用其他程序時可以使用G65、G66、M98指令。●參數(shù)6008#6=1時,可以在由T代碼調用的程序中執(zhí)行G代碼的調用。215用戶宏程序限制●通常在由T代碼調用的程序中調用其他程序時可以使用G65八、使用M代碼計算刀具使用時間條件注釋216用戶宏程序八、使用M代碼計算刀具使用時間條件注釋216用戶宏程序參數(shù)的設定:參數(shù)6071=3,參數(shù)6072=5變量值的設定;變量#501~#505中事先設定為0調用宏指令的程序O0001T01M06M03..M05﹒﹒﹒﹒﹒﹒#501發(fā)生變化..T05M06M03..M05﹒﹒﹒﹒﹒﹒#505發(fā)生變化M30217用戶宏程序參數(shù)的設定:參數(shù)6071=3,參數(shù)6072=5變量值的設定;218用戶宏程序218用戶宏程序計算刀具T1~T5使用時間的程序O9001;IF[#4120LE0]GOTO9;IF[#4120GT5]GOTO9;#3002=0;N9M03;M99;O9002;IF[#4120LE0]GOTO9;IF[#4120GT5]GOTO9;#[500+#4120]=#[500+#4120]+#3002;N9M05;M99;參數(shù)No.6071設為03參數(shù)No.6072設為05219用戶宏程序計算刀具T1~T5使用時間的程序O9001;O9002;參
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教學資源整合與秋季應用計劃
- 2025年貴金屬靶材項目發(fā)展計劃
- 2025年面板封接玻璃合作協(xié)議書
- 2025年工業(yè)清洗清理設備:工業(yè)吸塵設備合作協(xié)議書
- 2025年電商大數(shù)據(jù)項目發(fā)展計劃
- 強化互動反饋的按鈕動畫設計
- 小學生勵志成長故事讀后感
- 基因檢測技術研發(fā)合同
- 2025年制動氣室項目發(fā)展計劃
- 智慧城市規(guī)劃與建設協(xié)議
- 2025年度民政局離婚協(xié)議書范本模板官方修訂2篇
- 《百達翡麗名表介紹》課件
- 2025版《VOCs廢氣處理設施安全檢查表》(全)
- JJF(京) 92-2022 激光標線儀校準規(guī)范
- 整形醫(yī)院客戶管理培訓
- 七年級語文下冊全冊完整課件(部編版)
- 普惠金融政策解讀
- 2024年疾控中心支部工作計劃范本
- (投資管理)對外投資合作國別(地區(qū))指南
- 砌筑工的培訓
- 清洗衛(wèi)生間(課件)三年級下冊勞動人民版
評論
0/150
提交評論