版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、宏 程 序 數(shù)控程序中含有變量的程序稱為宏程序。雖然子程序?qū)幹葡嗤募庸こ绦蚍浅S杏?,但用戶宏程序由于允許使用變量、算術(shù)和邏輯運(yùn)算及條件轉(zhuǎn)移,使得編制同樣的加工程序更簡便。例如型腔加工宏程序和用戶開發(fā)固定循環(huán)。使用時,加工程序可用一條簡單指令調(diào)出用戶宏程序,和調(diào)用子程序完全一樣。1.1 變量 普通加工程序直接用數(shù)值指定G代碼和移動距離;例如,G01 和X100.0。使用用戶宏程序時,數(shù)值可以直接指定或用變量指定。當(dāng)用變量時,變量值可用程序或用MDI 面板操作改變。#1=#2+100;G01 X#1 F300;說明 變量的表示 一般編程方法允許對變量命名,但用戶宏程序不行。變量用變量符號(#)
2、和后面的變量號指定。例如:#1表達(dá)式可以用于指定變量號。此時,表達(dá)式必須封閉在括號中。例如:#1+#2-12變量的類型 變量根據(jù)變量號可以分成四種類型。變量值的范圍局部變量和公共變量可以為0 值或下面范圍中的值:-1047 到-10-29或10-29 到1047如果計算結(jié)果超出有效范圍,則發(fā)出P/S 報警No.111小數(shù)點(diǎn)的省略 當(dāng)在程序中定義變量值時,小數(shù)點(diǎn)可以省略。例:當(dāng)定義#1=123;變量#1 的實(shí)際值是123.000。變量的引用 在地址后指定變量號即可引用其變量值。當(dāng)用表達(dá)式指定變量時,要把表達(dá)式放在括號中。例如:G01X#1+#2F#3;被引用變量的值根據(jù)地址的最小設(shè)定單位自動地舍
3、入。例如:當(dāng)系統(tǒng)的最小輸入增量為1/1000mm 單位,指令G00X#1,并將12.3456 賦值給變量#1,實(shí)際指令值為G00X12.346;。改變引用變量的值的符號,要把負(fù)號()放在#的前面。例如:G00X#1;當(dāng)引用未定義的變量時,變量及地址字都被忽略。例如:當(dāng)變量#1 的值是0,并且變量#2 的值是空時,G00X#1 Y#2 的執(zhí)行結(jié)果為G00X0;。 雙軌跡(雙軌跡控制)的公共變量對雙軌跡控制,系統(tǒng)為每一軌跡都提供了單獨(dú)的宏變量。但是,根據(jù)參數(shù)No.6036 和6037 的設(shè)定,某些公共變量可同時用于兩個軌跡。未定義的變量 當(dāng)變量值未定義時,這樣的變量成為“空”變量。變量#0 總是空
4、變量。它不能寫,只能讀。(a)引用當(dāng)引用一個未定義的變量時,地址本身也被忽略。(b)運(yùn)算除了用<空>賦值以外,其余情況下<空>與0 相同。當(dāng)變量值是空白時,變量是空。符號*表示溢出(當(dāng)變量的絕對值大于99999999 時)或下溢出(當(dāng)變量的絕對值小于0.0000001 時)。限制 程序號,順序號和任選程序段跳轉(zhuǎn)號不能使用變量。例:下面情況不能使用變量:#1;/#2G00X100.0;N#3Y200.0;1.2 系統(tǒng)變量 系統(tǒng)變量用于讀和寫NC 內(nèi)部數(shù)據(jù),例如,刀具偏置值和當(dāng)前位置數(shù)據(jù)。但是,某些系統(tǒng)變量只能讀。系統(tǒng)變量是自動控制和通用程序開發(fā)的基礎(chǔ)。說明接口信號 是可編
5、程機(jī)床控制器(PMC)和用戶宏程序之間交換的信號。刀具補(bǔ)償值 用系統(tǒng)變量可以讀和寫刀具補(bǔ)償值。可使用的變量數(shù)取決于刀補(bǔ)數(shù),是否區(qū)分外形補(bǔ)償和磨損補(bǔ)償以及是否區(qū)分刀長補(bǔ)償和刀尖補(bǔ)償。當(dāng)偏置組數(shù)小于等于200 時,也可使用#2001#2400。宏程序報警例:#3000=1(TOOL NOT FOUND)報警屏幕上顯示“3001 TOOL NOT FOUND”(刀具未找到)停止和信息顯示 程序停止執(zhí)行并顯示信息。時間信息 時間信息可以讀和寫。自動運(yùn)行控制 可以改變自動運(yùn)行的控制狀態(tài)。·當(dāng)電源接通時,該變量的值為0。·當(dāng)單程序段停止無效時,即使單程序段開關(guān)設(shè)為ON,也不執(zhí)行單程序段
6、停止。·當(dāng)指定不等待輔助功能(M,S 和T 功能)完成時,在輔助功能完成之前,程序即執(zhí)行到下一程序段。而且分配完成信號DEN 不輸出。·當(dāng)電源接通時,該變量的值為0。·當(dāng)進(jìn)給暫停無效時:(1) 當(dāng)進(jìn)給暫停按鈕被按下時,機(jī)床以單段停止方式停止。但是,當(dāng)用變量#3003 使單程序段方式無效時,單程序段停止不執(zhí)行。(2) 當(dāng)進(jìn)給暫停按鈕壓下又松開時,進(jìn)給暫停燈亮,但是,機(jī)床不停止;程序繼續(xù)執(zhí)行,并且機(jī)床停在進(jìn)給暫停有效的第一個程序段。·當(dāng)進(jìn)給速度倍率無效時,倍率總為100%,而不管機(jī)床操作面板上的進(jìn)給速度倍率開關(guān)的設(shè)置。·當(dāng)準(zhǔn)確停止檢測無效時,即使那
7、些不執(zhí)行切削的程序段也不進(jìn)行準(zhǔn)確停止檢測(位置檢測)SETTING 值 SETTING 值可用變量讀和寫。二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)。鏡像 使用外部開關(guān)或SETTING 操作設(shè)置的各軸鏡像狀態(tài)可以通過輸出信號(鏡像檢測信號)讀出??梢詸z測當(dāng)前的鏡像狀態(tài)(見III4.6 節(jié))。得到的二進(jìn)制值轉(zhuǎn)換成十進(jìn)制。·當(dāng)用鏡像信號和SETTING 兩者對某軸設(shè)置鏡像功能時,信號值和設(shè)定值相或,然后輸出。·當(dāng)控制軸以外的軸的鏡像功能接通時,它們也被讀進(jìn)系統(tǒng)變量#3007。·系統(tǒng)變量#3007 是寫保護(hù)的系統(tǒng)變量。如果試圖在變量中寫數(shù)據(jù),則發(fā)出P/S116 報警“WRITE PROTE
8、CTED VARIABLE”。已加工的零件數(shù) 要求的零件數(shù)(目標(biāo)數(shù))和已加工的零件數(shù)(完成數(shù))可以讀和寫。模態(tài)信息正在處理的程序段之前的模態(tài)信息可以讀出。例:當(dāng)執(zhí)行#1=#4002;時,在#1 中得到的值是17,18 或19。對于不能使用的G 代碼組,如果指定系統(tǒng)變量讀取相應(yīng)的模態(tài)信息,則發(fā)出P/S 報警。當(dāng)前位置位置信息不能寫,只能讀。· 第1 位代表軸號(從1 到3)。· 變量#5081#5083 存儲的刀具長度補(bǔ)償值是當(dāng)前的執(zhí)行值,不是后面程序段的處理值。· 在G31(跳轉(zhuǎn)功能)程序段中跳轉(zhuǎn)信號接通時的刀具位置儲存在變量#5061 到#5063 中。當(dāng)G31
9、 程序段中的跳轉(zhuǎn)信號未接通時,這些變量中儲存指定程序段的終點(diǎn)值。· 移動期間不能讀是指由于緩沖(預(yù)讀)功能的原因,不能讀期望值。工件坐標(biāo)系補(bǔ)償值工件零點(diǎn)偏移值的系統(tǒng)變量 (工件零點(diǎn)偏移值)可以使用以下變量1.3 算術(shù)和邏輯運(yùn)算表15.3(a)中列出的運(yùn)算可以在變量中執(zhí)行。運(yùn)算符右邊的表達(dá)式可包含常量和/或由函數(shù)或運(yùn)算符組成的變量。表達(dá)式中的變量#j 和#k 可以用常數(shù)替換。左邊的變量也可以用表達(dá)式賦值。表15.3(a) 算術(shù)和邏輯運(yùn)算角度單位 函數(shù)SIN,COS,ASIN,ACOS,TAN 和ATAN 的角度單位是度。如90°30表示為90.5 度。ARCSIN # i=A
10、SIN#j 取值范圍如下:當(dāng)參數(shù)(No.6004#0)NAT 位設(shè)為0 時,270°90°當(dāng)參數(shù)(No.6004#0)NAT 位設(shè)為1 時,-90°90° 當(dāng)#j 超出-1 到1 的范圍時,發(fā)出P/S 報警No.111。常數(shù)可替代變量#j。ARCCOS # i =ACOS#j 取值范圍從180°0°。當(dāng)#j 超出-1 到1 的范圍時,發(fā)出P/S 報警No.111。常數(shù)可以替代變量#jARCTAN ·指定兩個邊的長度,并用斜杠(/)分開。#i=ATAN#j/#k; ·取值范
11、圍如下:當(dāng)NAT 位(參數(shù)No.6004,#0)設(shè)為0 時:0°到360°例如當(dāng)指定#1=ATAN-1/-1;時,#1=225°。當(dāng)NAT 位(參數(shù)No.6004,#0)設(shè)為1 時,-180°到180°例如當(dāng)指定#1=ATAN-1/-1;時,#1=-135.0°。· 常數(shù)可以代替變量# j。·注意,相對誤差可能大于10-8。 自然對數(shù)#i=LN#j;·當(dāng)反對數(shù)(# j)為0 或小于0 時,發(fā)出P/S 報警No.111。·常數(shù)可以代替變量# j。·注意,相對誤差可能大于10-8。 指數(shù)函
12、數(shù)#i=EXP#j·當(dāng)運(yùn)算結(jié)果超過3.65×1047(j 大約是110)時,出現(xiàn)溢出并發(fā)出P/S報警No.111。·常數(shù)可以代替變量#j。 ROUND(舍入)函數(shù) ·當(dāng)算術(shù)運(yùn)算或邏輯運(yùn)算指令I(lǐng)F 或WHILE 中包含ROUND 函數(shù)時,則ROUND函數(shù)在第1 個小數(shù)位置四舍五入。例:當(dāng)執(zhí)行#1=ROUND#2;時,此處#2=1.2345,變量1 的值是1.0。·當(dāng)在NC 語句地址中使用ROUND 函數(shù)時,ROUND 函數(shù)根據(jù)地址的最小設(shè)定單位將指定值四舍五入。例:編制鉆削加工程序,按變量#1 和#2 的值切削,然后返回到初始位置。假定最小設(shè)定單
13、位是1/1000mm,變量#1 是1.2345, 變量#2 是2.3456,則,G00 G91 X-#1;移動1.235mmG01 X-#2 F300;移動2.346mmG00 X#1+#2;由于1.2345+2.3456=3.5801,移動距離為3.580,刀具不會返回到初始位置。該誤差來自于舍入之前還是舍入之后相加。必須指定G00X-ROUND#1+ROUND#2以使刀具返回到初始位置。上取整和下取整 CNC 處理數(shù)值運(yùn)算時,若操作后產(chǎn)生的整數(shù)絕對值大于原數(shù)的絕對值時為上取整;若小于原數(shù)的絕對值為下取整。對于負(fù)數(shù)的處理應(yīng)小心。例如:假設(shè)#1=1.2,#2=1.2。當(dāng)執(zhí)行#3=FUP#1時,
14、2.0 賦給#3。當(dāng)執(zhí)行#3=FIX#1時,1.0 賦給#3。當(dāng)執(zhí)行#3=FUP#2時,2.0 賦給#3。當(dāng)執(zhí)行#3=FIX#2時,1.0 賦給#3。 算術(shù)與邏輯運(yùn)算指令的縮寫 程序中指令函數(shù)時,函數(shù)名的前二個字符可以用于指定該函數(shù)(見9.7 節(jié))。例如:ROUNDROFIXFI 運(yùn)算次序 函數(shù) 乘和除運(yùn)算(*、/、AND) 加和減運(yùn)算(+、-、OR、XOR)括號嵌套 括號用于改變運(yùn)算次序。括號可以使用5 級,包括函數(shù)內(nèi)部使用的括號。當(dāng)超過5 級時,出現(xiàn)P/S 報警No.118。限制括號 (,)用于封閉表達(dá)式。注意,圓括號用于注釋。運(yùn)算誤差 運(yùn)算時,可能出現(xiàn)誤差。表15.3(b) 運(yùn)算中的誤差
15、注1 相對誤差取決于運(yùn)算結(jié)果。2 使用兩類誤差的較小者。3 絕對誤差是常數(shù),而不管運(yùn)算結(jié)果。4 函數(shù)TAN 執(zhí)行SIN/COS。5 如果SIN、COS 或TAN 函數(shù)的運(yùn)算結(jié)果小于1.0×10-8 或由于運(yùn)算精度的限制不為0 的話,設(shè)定參數(shù)o.60041 為1,則運(yùn)算結(jié)果可以規(guī)算為0。·變量值的精度約為8 位十進(jìn)制數(shù)。當(dāng)在加/減運(yùn)算中處理非常大的數(shù)時,將得不到期望的結(jié)果。例:當(dāng)試圖把下面的值賦給變量#1 和#2 時:#1=9876543210123.456#2=9876543277777.777變量值變成:#1=9876543200000.000#2=98765433000
16、00.000此時,當(dāng)計算#3=#2-#1;時,結(jié)果為#3=100000.000。(該計算的實(shí)際結(jié)果稍有誤差,因?yàn)槭且远M(jìn)制執(zhí)行的。)·還應(yīng)該意識到,使用條件表達(dá)式EQ,NE,GE,GT,LE 和LT 時可能造成誤差。例如:IF#1EQ#2的運(yùn)算會受 #1 和#2 的誤差的影響,由此會造成錯誤的判斷。因此,應(yīng)該用IFABS#1-#2LT0.001代替上述語句,以避免兩個變量的誤差。當(dāng)兩個變量的差值未超過允許極限(此處為0.001)時,則認(rèn)為兩個變量的值是相等的。·使用下取整指令時應(yīng)小心。例如:當(dāng)計算#2=#1*1000,式中#1=0.002 時,變量#2 的結(jié)果值不是準(zhǔn)確的2
17、,可能是1.99999997。這里,當(dāng)指定#3=FIX#2時,變量3 的結(jié)果值不是2,而是1.0。此時,可先糾正誤差,再執(zhí)行下取整,或是用如下的四舍五入操作,即可得到正確結(jié)果。#3=FIX#2+0.001#3=ROUND#2除數(shù) 當(dāng)在除法或TAN90中指定為0 的除數(shù)時,出現(xiàn)P/S 報警No.112。1.4 宏程序語句和NC 語句 下面的程序段為宏程序語句:·包含算術(shù)或邏輯運(yùn)算(=)的程序段。·包含控制語句(例如,GOTO,DO,END)的程序段。·包含宏程序調(diào)用指令(例如,用G65,G66,G67 或其它G 代碼,M代碼調(diào)用宏程序)的程序段。除了宏程序語句以外的
18、任何程序段都為NC 語句。說明 與NC 語句的不同 · 即使置于單程序段運(yùn)行方式,機(jī)床也不停止。但是,當(dāng)參數(shù)No.6000#5SBM 設(shè)定為1 時,在單程序段方式中,機(jī)床停止。·在刀具半徑補(bǔ)償方式中宏程序語句段不做為不移動程序段處理(見II15.7 節(jié))。 與宏程序語句有相 ·含有子程序調(diào)用指令(例如,用M98 或其它M 代碼或用T 代碼調(diào)用子程序)但沒有除O,N 或L 地址之外的其它地址指令的NC 語句,其性質(zhì)與宏程序語句相同。同性質(zhì)的NC 語句·不包含除O,N,P 或L 以外的指令地址的程序段其性質(zhì)與宏程序語句
19、相同。1.5 轉(zhuǎn)移和循環(huán) 在程序中,使用GOTO 語句和IF 語句可以改變控制的流向。有三種轉(zhuǎn)移和循環(huán)操作可供使用: 無條件轉(zhuǎn)移 轉(zhuǎn)移到標(biāo)有順序號n 的程序段。當(dāng)指定1 到99999 以外的順序號時,出現(xiàn)P/S 報警No.128。可用表達(dá)式指定順序號。 例:GOTO 1;GOTO #10;轉(zhuǎn)移和循環(huán) GOTO 語句(無條件轉(zhuǎn)移)IF 語句(條件轉(zhuǎn)移:IFTHEN)WHILE 語句(當(dāng)時循環(huán))GOTOn; n:順序號(1 到99999)條件轉(zhuǎn)移(IF 語句) IF 之后指定條件表達(dá)式。IF<條件表達(dá)式>GOTO n 如果指定的條件表達(dá)式滿足時,轉(zhuǎn)移到標(biāo)有順序號n 的程序段。如果指定的
20、條件表達(dá)式不滿足,執(zhí)行下個程序段。IF<條件表達(dá)式>THEN 如果條件表達(dá)式滿足,執(zhí)行預(yù)先決定的宏程序語句。只執(zhí)行一個宏程序語句。條件表達(dá)式條件表達(dá)式必須包括運(yùn)算符。運(yùn)算符插在兩個變量中間或變量和常數(shù)中間,并且用括號(,)封閉。表達(dá)式可以替代變量。運(yùn)算符運(yùn)算符由2 個字母組成,用于兩個值的比較,以決定它們是相等還是一個值小于或大于另一個值。注意,不能使用不等號。示例程序 下面的程序計算數(shù)值110 的總和9500;#1=0;存儲和的變量初值#2=1;被加數(shù)變量的初值N1 IF#2 GT 10GOTO 2;當(dāng)被加數(shù)大于10 時轉(zhuǎn)移到N2#1=#1+#2;計算和#2=#2+#1;下一個被
21、加數(shù)GOTO 1;轉(zhuǎn)到N1N2 M30;程序結(jié)束循環(huán)(WHILE 語句) 在WHILE 后指定一個條件表達(dá)式。當(dāng)指定條件滿足時,執(zhí)行從DO 到END 之間的程序。否則,轉(zhuǎn)到END 后的程序段。說明 當(dāng)指定的條件滿足時,執(zhí)行WHILE 后從DO 到END 之間的程序。否則,轉(zhuǎn)而執(zhí)行END 之后的程序段。與IF 語句的指令格式相同。DO 后的數(shù)和END 后的數(shù)為指定程序執(zhí)行范圍的標(biāo)號,標(biāo)號值為1,2,3。若用1,2,3 以外的值會產(chǎn)生P/S 報警No.126。嵌套 在DOEND 循環(huán)中的標(biāo)號(1 到3)可根據(jù)需要多次使用。但是,當(dāng)程序有交叉重復(fù)循環(huán)(DO 范圍重疊)時,出現(xiàn)P/S 報警No.124
22、。說明無限循環(huán) 當(dāng)指定DO 而沒有指定WHILE 語句時,產(chǎn)生從DO 到END 的無限循環(huán)。 處理時間 在處理有標(biāo)號轉(zhuǎn)移的GOTO 語句時,進(jìn)行順序號檢索。反向檢索的時間要比正向檢索長。用WHILE 語句實(shí)現(xiàn)循環(huán)可減少處理時間。未定義的變量 在使用EQ 或NE 的條件表達(dá)式中,<空>和零有不同的效果。在其它形式的條件表達(dá)式中,<空>被當(dāng)作零。示例程序 下面的程序計算數(shù)值1 到10 的總和。宏程序調(diào)用 用以下方法調(diào)用宏程序:宏程序調(diào)用和子程序調(diào)用之間的差別宏程序調(diào)用(G65)不同于子程序調(diào)用(G98),如下所述。·用G65,可以指定自變量(數(shù)據(jù)傳送到宏程序)。M
23、98 沒有該功能。·當(dāng)M98 程序段包含另一個NC 指令(例如,G01 X100.0 M98 Pp)時,在指令執(zhí)行之后調(diào)用子程序。相反,G65 無條件地調(diào)用宏程序。·M98 程序段包含另一個NC 指令(例如,G01 X100.0 M98 Pp)時,在單程序段方式中,機(jī)床停止。相反,G65 機(jī)床不停止。·用G65,改變局部變量的級別。用M98,不改變局部變量的級別。非模態(tài)調(diào)用(G65) 當(dāng)指定G65 時,以地址P 指定的用戶宏程序被調(diào)用。數(shù)據(jù)(自變量)能傳遞到用戶宏程序體中。說明調(diào)用·在G65 之后,用地址P 指定用戶宏程序的程序號。·當(dāng)要求重復(fù)
24、時,在地址L 后指定從1 到9999 的重復(fù)次數(shù)。省略L 值時,認(rèn)為L 等于1。·使用自變量指定,其值被賦值到相應(yīng)的局部變量。 自變量指定 可用兩種形式的自變量指定。自變量指定使用除了G,L,O,N 和P以外的字母,每個字母指定一次。自變量指定使用A,B,C 和Ii,Ji和Ki(i 為110)。根據(jù)使用的字母,自動決定自變量指定的類型。·地址G,L,N,和P 不能在自變量中使用。·不需要指定的地址可以省略,對應(yīng)于省略地址的局部變量為空。·地址不需要按字母順序指定。但應(yīng)符合字地址的格式。I,J 和K 需要按字母順序指定。例:B_A_D_J_K_正確B_A_
25、D_J_I_不正確自變量指定自變量指定使用A,B 和C 各1 次,I,J,K 各10 次。自變量指定用于傳遞諸如三維坐標(biāo)值。限制 格式 任何自變量前必須指定G65。自變量指定、混合使用 CNC 內(nèi)部自動識別自變量指定和自變量指定。如果自變量指定和自變量指定混合指定,后指定的自變量類型有效。小數(shù)點(diǎn)的位置 不帶小數(shù)點(diǎn)的自變量,其數(shù)據(jù)單位為各地址的最小設(shè)定單位。傳遞不帶小數(shù)點(diǎn)的自變量,其值會根據(jù)機(jī)床實(shí)際的系統(tǒng)配置變化。在宏程序調(diào)用中使用小數(shù)點(diǎn)可使程序兼容性好。 調(diào)用嵌套 調(diào)用可以嵌套4 級,包括非模態(tài)調(diào)用(G65)和模態(tài)調(diào)用(G66)。但不包括子程序調(diào)用(M98)。局部變量的級別 ·局部變
26、量嵌套從0 到4 級。·主程序是0 級·宏程序每調(diào)用1 次(用G65 或G66),局部變量級別加1。前1 級的局部變量值保存在CNC 中。·當(dāng)宏程序執(zhí)行M99 時,控制返回到調(diào)用程序。此時,局部變量級別減1,并恢復(fù)宏程序調(diào)用時保存的局部變量值。示例程序(圓周螺紋孔) 編制一個宏程序加工輪圓上的孔。圓周的半徑為I,起始角為A,間隔為B,鉆孔數(shù)為H,圓的中心是(X,Y)。指令可以用絕對值或增量值指定。順時針方向鉆孔時B 應(yīng)指定負(fù)值。調(diào)用格式G65 P9100 Xx Yy Zz Rr Ff Ii Aa Bb Hh;X:圓心的X 坐標(biāo)(絕對值或增量值指定)(#24)Y:圓
27、心的Y 坐標(biāo)(絕對值或增量值指定)(#25)Z:孔深(#26)R:趨近點(diǎn)坐標(biāo)(#18)F:切削進(jìn)給速度(#9)I:圓半徑(#4)A:第一孔的角度(#1)B:增量角(指定負(fù)值時為順時針)(#2)H:孔數(shù)(#11)宏程序調(diào)用程序 0002;G90 G92 X0 Y0 Z100.0;G65 P9100 X100.0 Y50.0 R30.0 Z-50.0 F500 I100.0 A0 B45.0 H5;M30;宏程序(被調(diào)用的程序) 9100;#3=#4003;儲存03 組G 代碼G81 Z#26 R#18 F#9 K0;(注)鉆孔循環(huán)注:也可以使用L0IF#3 EQ 90GOTO 1;在G90 方式
28、轉(zhuǎn)移到N1#24=#5001+#24;計算圓心的X 坐標(biāo)#25=#5002+#25;計算圓心的Y 坐標(biāo)N1 WHILE#11 GT 0DO 1;直到剩余孔數(shù)為0#5=#24+#4*COS#1;計算X 軸上的孔位#6=#25+#4*SIN+1; 計算Y 軸上的孔位G90 X#5 Y#6;移動到目標(biāo)位置之后執(zhí)行鉆孔#1=#1+#2;更新角度#11=#11-1;孔數(shù)-1END 1;G#3 G80;返回原始狀態(tài)的G 代碼M99;變量的含義#3:儲存03 組的G 代碼#5:下個孔的X 坐標(biāo)#6:下個孔的Y 坐標(biāo)模態(tài)調(diào)用(G66) 一旦發(fā)出G66 則指定模態(tài)調(diào)用,即在指定軸移動的程序段后調(diào)用宏程序。G67
29、 取消模態(tài)調(diào)用說明 調(diào)用 ·在G66 之后,用地址P 指定模態(tài)調(diào)用的程序號。·當(dāng)要求重復(fù)時,在地址L 后指定從1 到9999 的重復(fù)次數(shù)。·與非模態(tài)調(diào)用(G65)相同,自變量指定的數(shù)據(jù)傳遞到宏程序體中。取消 指定G67 代碼后,其后面的程序段不再執(zhí)行模態(tài)宏程序調(diào)用。調(diào)用嵌套 調(diào)用可以嵌套4 級。包括非模態(tài)調(diào)用(G65)和模態(tài)調(diào)用(G66)。但不包括子程序調(diào)用(M98)。模態(tài)調(diào)用嵌套 在模態(tài)調(diào)用期間,指定另一個G66 代碼,可以嵌套模態(tài)調(diào)用。限制 ·在G66 程序段中,不能調(diào)用宏程序。·G66 必須在自變量之前指定。·在只有諸如輔助功能
30、但無移動指令的程序段中不能調(diào)用宏程序。·局部變量(自變量)只能在G66 程序段中指定。注意,每次執(zhí)行模態(tài)調(diào)用時,不再設(shè)定局部變量。示例程序 用宏程序編制G81 固定循環(huán)的操作。加工程序使用模態(tài)調(diào)用。為了簡化程序,使用絕對值指定全部的鉆孔數(shù)據(jù)。調(diào)用格式G65 P9110 Xx Yy Zz Rr Ff Ll;X:孔的X 坐標(biāo)(由絕對值指定)(#24)Y:孔的Y 坐標(biāo)(由絕對值指定)(#25)Z:Z 點(diǎn)坐標(biāo)(由絕對值指定) (#26)R:R 點(diǎn)坐標(biāo)(由絕對值指定) (#18)F:切削進(jìn)給速度 (#9)L:重復(fù)次數(shù)調(diào)用宏程序的程序 0001;G28 G91 X0 Y0 Z0;G92 X0 Y
31、0 Z50.0;G00 G90 X100.0 Y50.0;G66 P9110 Z-20.0 R5.0 F500;G90 X20.0 Y20.0;X50.0;Y50.0;X70.0 Y80.0;G67;M30; 宏程序(被調(diào)用的程序) 9110;#1=#4001;儲存G00/G01#2=#4003;儲存G90/G91#3=#4109;儲存切削進(jìn)給速度#5=#5003;儲存鉆孔開始的Z 坐標(biāo)G00 G90 Z#18;定位在R 點(diǎn)G01 Z#26 F#9;切削進(jìn)給到Z 點(diǎn)IF#4010 EQ 98GOTO 1;返回到1 點(diǎn)G00 Z#18;定位在R 點(diǎn)GOTO 2;N1 G00 Z#5;定位在1 點(diǎn)
32、N2 G#1 G#3 F#4;恢復(fù)模態(tài)信息。M99;用G 代碼調(diào)用宏程序 在參數(shù)中設(shè)置調(diào)用宏程序的G 代碼,按非模態(tài)調(diào)用(G65)同樣的方法調(diào)用宏程序。說明 在參數(shù)(No.6050 到No.6059)中設(shè)置調(diào)用用戶宏程序(9010 到9019)的G 代碼號(從1 到9999),調(diào)用用戶宏程序的方法與G65 相同。例如,設(shè)置參數(shù),由G81 調(diào)用宏程序9010,不用修改加工程序,就可以調(diào)用由用戶宏程序編制的加工循環(huán)。參數(shù)號和程序號之間的對應(yīng)關(guān)系重復(fù) 與非模態(tài)調(diào)用一樣,地址L 中指定從1 到9999 的重復(fù)次數(shù)。自變量指定 與非模態(tài)調(diào)用一樣,可以使用兩種自變量指定類型:自變量指定和自變量指定。根據(jù)使
33、用的地址自動決定自變量的指定類型。限制使用G 代碼的宏調(diào)用的嵌套 在G 代碼調(diào)用的程序中,不能用G 代碼調(diào)用宏程序。這種程序中的G代碼被處理為普通G 代碼。在用M 或T 代碼調(diào)用的子程序中,不能用G 代碼調(diào)用宏程序。這種程序中的G 代碼也處理為普通G 代碼。用M 代碼調(diào)用宏程序 在參數(shù)中設(shè)置調(diào)用宏程序的M 代碼,按非模態(tài)調(diào)用(G65)一樣的方法調(diào)用宏程序。說明 在參數(shù)(No.6080 到No.6089)中設(shè)置調(diào)用用戶宏程序(9020 到9029)的M 代碼(從1 到99999999),調(diào)用宏程序的方法同G65相同。參數(shù)號和程序號之間的對應(yīng)關(guān)系重復(fù) 與非模態(tài)調(diào)用一樣,地址L 中指定從1 到999
34、9 的重復(fù)次數(shù)。自變量指定 與非模態(tài)調(diào)用一樣,可以使用兩種自變量指定類型:自變量指定和自變量指定。根據(jù)使用的地址自動決定自變量指定的類型。限制 ·調(diào)用宏程序的M 代碼必須在程序段的開頭指定。·用G 代碼調(diào)用的宏程序或用M 代碼或T 代碼調(diào)用的子程序中,不能用M 代碼調(diào)用宏程序。這種宏程序或子程序中的M 代碼被處理為普通M 代碼。用M 代碼調(diào)用子程序 在參數(shù)中設(shè)置調(diào)用子程序(宏程序)的M 代碼號,按與子程序調(diào)用(M98)相同的方法調(diào)用宏程序。說明 在參數(shù)(No.6071 到No.6079)中設(shè)置調(diào)用子程序的代碼(從到99999999),相應(yīng)的用戶宏程序(9001 到9009)
35、可按與M98同樣的方法調(diào)用。參數(shù)號和程序號之間的對應(yīng)關(guān)系重復(fù) 與非模態(tài)調(diào)用一樣,地址L 中指定從1 到9999 的重復(fù)次數(shù)。自變量指定 不允許指定自變量。M 代碼 在宏程序中調(diào)用的M 代碼被處理為普通M 代碼。限制 用G 代碼調(diào)用的宏程序,或用M 或T 代碼調(diào)用的子程序中,不能使用M 代碼調(diào)用子程序。這種宏程序或程序中的M 代碼被處理為普通M 代碼。用T 代碼調(diào)用子程序 通過設(shè)定參數(shù),可使用T 代碼調(diào)用子程序(宏程序),每當(dāng)在加工程序中指定T 代碼時,即調(diào)用宏程序。說明 調(diào)用設(shè)置參數(shù)No.6001 的5 位TCS=1,當(dāng)在加工程序中指定T 代碼時,可以調(diào)用宏程序9000。在加工程序中指定的T
36、代碼賦值到公共變量#149。限制 用G 代碼調(diào)用的宏程序中或用M 或T 代碼調(diào)用的程序中,不能用T 代碼調(diào)用子程序。這種宏程序或程序中的T 代碼被處理為普通T 代碼。示例程序使用M 代碼調(diào)用子程序的功能,實(shí)現(xiàn)測量每把刀具的累積使用時間。條件 ·測量T01 到T05 各把刀具的累積使用時間。刀號大于T05 的刀具不進(jìn)行測量。·下面的變量用于儲存刀號和測量的時間。#501 刀號1 的累積使用時間#502 刀號2 的累積使用時間#503 刀號3 的累積使用時間#504 刀號4 的累積使用時間#505 刀號5 的累積使用時間·當(dāng)指定M03 時,開始計算使用時間,當(dāng)指定M0
37、5 時,停止計算。在循環(huán)啟動燈亮期間,用系統(tǒng)變量#3002 測量該時間。進(jìn)給暫停和單段停止期間,不計算時間,但要計算換刀和交換工作臺的時間。運(yùn)行檢查 參數(shù)設(shè)置 參數(shù)No.6071 中設(shè)置3,參數(shù)No.6072 中設(shè)置05。 變量值設(shè)置 變量#501 到#505 中設(shè)置0。 調(diào)用宏程序的程序 0001;T01 M06;M03;·M05;改變#501T02 M06;M03;·M05;改變#502T03 M06;M03;·M05;改變#503T04 M06;M03;·M05;改變#504T05 M06
38、;M03;·M05;改變#505M30;宏程序(被調(diào)用的程序) 9001(M03);啟動計算的宏程序M01;IF#4120 EQ 0GOTO 9;沒有指定刀具IF#4120 GT 5GOTO 9;超出刀號范圍#3002=0;計時器清0N9 M03;正向旋轉(zhuǎn)主軸M99;9002(M05);結(jié)束計算的宏程序M01;IF#4120 EQ 0GOTO 9;沒有指定刀具IF#4120 GT 5GOTO 9;超出刀號范圍#500+#4120=#3002+#500+#4120;計算累積時間N9 M05;停止主軸M99;宏程序語句的處理為了平滑加工,CNC 預(yù)讀下一段要執(zhí)行的NC 語句。這種運(yùn)行稱為
39、緩沖。在AI 先行控制中,CNC 讀取多個程序段,即使系統(tǒng)未處于AI 先行控制方式,但在刀具半徑補(bǔ)償方式(G41,G42)中,NC 為了找到交點(diǎn)提前預(yù)讀2 或3 個程序段的NC 語句。算術(shù)表達(dá)式和條件轉(zhuǎn)移的宏程序語句在它們被讀進(jìn)緩沖寄存器后立即被處理。因此,宏語句的執(zhí)行時序并不總是按編制順序執(zhí)行。包含M00,M01,M02 或M30 的程序段,包含由參數(shù)No.3411 到No.3432設(shè)置的禁止緩沖的M 代碼的程序段,以及包含禁止緩沖的G 代碼,例如G53 的程序段,其后的程序不再預(yù)讀。直到相應(yīng)的M 代碼和G 代碼的動作執(zhí)行完畢,才執(zhí)行之后的宏語句。NC 語句和宏語句的執(zhí)行順序 當(dāng)下個程序段不
40、緩沖時(禁止緩沖的M 代碼,G53,G31 等)注:如果需要在執(zhí)行完程序段后再執(zhí)行接下來的宏語句,則應(yīng)在此程序段中指定禁止緩沖的M 代碼或G 代碼。另外,在諸如讀取/改寫系統(tǒng)變量,坐標(biāo)值,偏置值等操作時,由于宏語句執(zhí)行時序的影響,有可能會出現(xiàn)偏差。此時,應(yīng)在宏語句前指定禁止緩沖的M 代碼和G 代碼。在除了刀具半徑補(bǔ)償方式(G41,G42)以外的方式中,緩沖下個程序段(正常預(yù)讀一個程序段)當(dāng)執(zhí)行N1 時,下個NC 語句(N4)被讀入緩沖器。 N1 和N4 之間的宏語句(N2,N3)在N1 執(zhí)行期間被處理。 在刀具半徑補(bǔ)償方式(G41,G42)中緩沖下個程序段當(dāng)N1 正在執(zhí)行時,下2 個程序段(直
41、到N5)中的NC 語句被讀進(jìn)緩沖寄存器。在N1 和N5 之間的宏語句(N2,N4)在N1 執(zhí)行期間被處理。在刀具半徑補(bǔ)償方式C(G41,G42)中,當(dāng)下個程序段包含沒有移動的程序段時當(dāng)N1 程序段正在執(zhí)行時,下兩個程序段(直到N5)中的NC 語句被讀進(jìn)緩沖寄存器。由于N5 是不移動的程序段,不能計算交點(diǎn)。此時,下面三個程序段(直到N7)中的NC 語句被讀入。在N1 和N7 之間的宏語句(N2,N4 和N6)在執(zhí)行N1 時被處理。使用系統(tǒng)變量時的注意事項 如果在宏程序中使用如下系統(tǒng)變量(表(a),并且希望在上一程序段執(zhí)行完畢后再執(zhí)行宏語句,則需在上一程序段中指定禁止緩沖的M 代碼(參數(shù)3411-
42、3432)或G53 指令程序段。在上例中,在執(zhí)行主程序中的N1 程序段時,N2 程序段讀入緩沖,相應(yīng)地宏程序O2000 被讀入和執(zhí)行。此時由于軸在移動狀態(tài),因此變量1 和2 讀入的是不確定位置,這時只需在宏程序O2000 的N100 程序段前指定禁止緩沖的M 代碼或G53 指令,變量1 和2 中讀取的位置即為N1 程序段完全執(zhí)行后的位置。注在固定循環(huán)方式中不能指定G53 代碼,否則會出現(xiàn)P/S44 報警。因此如果要在固定循環(huán)方式中禁止緩沖程序段,可通過指定禁止緩沖M 代碼來實(shí)現(xiàn)。用戶宏程序的存儲用戶宏程序與子程序相似??捎门c子程序同樣的方法進(jìn)行存儲和編程,存儲容量由子程序和宏程序的總?cè)萘看_定。
43、限制 MDI 運(yùn)行 在MDI 方式中可以指定宏程序調(diào)用指令。但是,在自動運(yùn)行期間,宏程序調(diào)用不能切換到MDI 方式。順序號檢索 用戶宏程序不能檢索順序號。 單程序段 即使宏程序正在執(zhí)行,在單程序段方式,程序段也能停止。包含宏程序調(diào)用指令(G65,G66 或G67)的程序段,即使在單程序段方式時也不會停止。當(dāng)設(shè)定SBM(參數(shù)No.6000 的5 位)為1 時,包含算術(shù)運(yùn)算指令和控制指令的程序段可以停止。單程序段運(yùn)行用于調(diào)試用戶宏程序。注意,在刀具半徑補(bǔ)償C 方式中,當(dāng)宏程序語句中出現(xiàn)單程序段停止時,該語句被認(rèn)為是不包含移動的程序段,在某些情況下,不能執(zhí)行正確的補(bǔ)償(嚴(yán)格地講,該程序段被當(dāng)作指定移
44、動距離為0 的移動。)任選程序段跳過 在<表達(dá)式>中間出現(xiàn)的/符號(在算術(shù)表達(dá)式的右邊,封閉在括號 中)被認(rèn)為是除法運(yùn)算符;不作為任選程序段跳過代碼。 在EDIT 方式中的運(yùn)行 設(shè)定參數(shù)NE8(參數(shù)No.3202 的0 位)和NE9(參數(shù)No.3202 的4 位)為1,可對程序號8000 到8999 和9000 到9999 的用戶宏程序和子程序進(jìn)行保護(hù)。當(dāng)存儲器全清時(電源接通時,同時按下 和 RESET DELET鍵),存儲器的全部內(nèi)容包括宏程序都被清除。復(fù)位當(dāng)復(fù)位時,局部變量和#100 到#199 的公共變量被清除為空值。設(shè)定CLV 和CCV(參數(shù)6001 的第7 位和第6 位
45、),它們可以不被清除。系統(tǒng)變量#1000 到#1133 不被清除。復(fù)位操作清除任何用戶宏程序和子程序的調(diào)用狀態(tài)及DO 狀態(tài)并返回到主程序。 程序再起動的顯示 和M98 一樣,子程序調(diào)用使用的M,T 代碼不顯示。進(jìn)給暫停 在宏程序語句執(zhí)行期間,進(jìn)給暫停有效時,宏語句執(zhí)行之后機(jī)床停止。當(dāng)復(fù)位或出現(xiàn)報警時,機(jī)床也停止。<表達(dá)式>中可以使用的常數(shù)值 +0.0000001 到+99999999-99999999 到-0.0000001有效數(shù)值是8 位(十進(jìn)制),如果超過這個范圍,出現(xiàn)P/S 報警No.003。外部輸出指令除了標(biāo)準(zhǔn)的用戶宏指令外,還可用下面的宏程序指令。它們被稱作外部輸出指令。
46、BPRNTDPRNTPOPENPCLOS通過閱讀機(jī)/穿孔機(jī)接口,用這些指令輸出變量值和字符。說明 按下列順序指定這些指令:打開指令:POPEN在指定數(shù)據(jù)輸出命令之前,指定該指令,以建立與外部輸入/輸入設(shè)備的鏈接。數(shù)據(jù)輸出指令:BPRNT 或DPRNT指定需要的輸出數(shù)據(jù)。關(guān)閉指令:PCLOS當(dāng)全部數(shù)據(jù)輸出指令已經(jīng)完成時,指定PCLOS 以解除與外部輸入/輸出設(shè)備的鏈接。打開指令POPEN POPENPOPEN 建立與外部輸入/輸出設(shè)備的鏈接。必須在數(shù)據(jù)輸出指令之前指定。根據(jù)該指令CNC 輸出DC2 控制代碼。數(shù)據(jù)輸出指令BPRNTBPRNT 指令以二進(jìn)制輸出字符和變量值。()指定的字符根據(jù)輸出時
47、的設(shè)定數(shù)據(jù)(ISO)轉(zhuǎn)換成代碼??芍付ǖ淖址缦拢鹤帜福ˋ 到Z)數(shù)字特殊字符(*,/,+,-,等)星號(*)用空格輸出。()所有變量都帶小數(shù)點(diǎn)存儲。指定一個變量時,變量后要用括號指定小數(shù)的有效位數(shù)。變量值處理成為2 個字(32 位)數(shù)據(jù),包括小數(shù)位。輸出為二進(jìn)制數(shù)據(jù),從最高字節(jié)開始輸出。()當(dāng)指定的數(shù)據(jù)輸出時,根據(jù)設(shè)定代碼(ISO)輸出EOB 代碼。()空變量認(rèn)為是0。數(shù)據(jù)輸出指令DPRNTDPRNT 指令,根據(jù)SETTING(ISO)的代碼設(shè)定,以十進(jìn)制輸出字符和變量值。()對DPRNT 指令的說明,請見對BPRNT 指令說明的()、()和()項。()當(dāng)輸出變量時,要指定#和后面的變量號,
48、然后,在括號中指定整數(shù)部分中的位數(shù)和小數(shù)點(diǎn)后的位數(shù)。數(shù)據(jù)從高位輸出,每位數(shù)都按相應(yīng)的代碼輸出,代碼由(ISO)設(shè)定。小數(shù)點(diǎn)也按(ISO)設(shè)定的代碼輸出。每個變量必須是最多8 位數(shù)組成的數(shù)字值。當(dāng)高位數(shù)是零時,如果PRT(參數(shù)6001 的1 位)是1,這些零不輸出。如果參數(shù)PRT 是0,每當(dāng)遇到0 時輸出空格代碼。當(dāng)小數(shù)的有效位數(shù)不是零時,小數(shù)部分總是輸出。如果小數(shù)的有效位數(shù)是零,則不輸出小數(shù)點(diǎn)。當(dāng)PRT(參數(shù)6001 的1 位)是0 時,輸出空格代替+號表示正數(shù);如果參數(shù)PRT 是1,不輸出代碼。關(guān)閉指令PCLOS PCLOS;PCLOS 指令解除與外部輸入/輸出設(shè)備的鏈接。當(dāng)所有數(shù)據(jù)輸出指令
49、結(jié)束時,指定該指令。根據(jù)該指令CNC 輸出DC4 控制代碼。 要求的設(shè)定 指定設(shè)定(SETTING)數(shù)據(jù)中的通道(I/O 通道)。根據(jù)這些數(shù)據(jù),指定閱讀機(jī)/穿孔機(jī)接口的數(shù)據(jù)(例如,波特率)。I/O 通道0:參數(shù)(No.101,No.102 和No.103)I/O 通道1:參數(shù)(No.111,No.112 和No.113)I/O 通道2:參數(shù)(No.112,No.122 和No.123)輸出裝置不要指定FANUC 磁帶盒或軟盤盒。當(dāng)指定DPRNT 指令輸出數(shù)據(jù)時,用參數(shù)PRT(參數(shù)6001 的1 位)為1或0 指定是否輸出數(shù)據(jù)的前零。數(shù)據(jù)行結(jié)束時輸出LF 或LF,CF,用參數(shù)#6001 的第4
50、位CRO 設(shè)定。注1 不必總是在一起指定打開指令(POPEN),數(shù)據(jù)輸出指令(BPRNT,DPRNT)以及關(guān)閉指令(PCLOS)。一旦在程序的開頭指定了打開指令后,除非指定了關(guān)閉指令,不需要再次指令打開指令。2 必須成對指定打開指令和關(guān)閉指令。在程序的末尾指定關(guān)閉指令。但是,如果沒有指定打開指令,就不必指定關(guān)閉指令。3 當(dāng)數(shù)據(jù)輸出指令正在執(zhí)行時,若執(zhí)行復(fù)位操作,輸出停止并且后面的數(shù)據(jù)被清除。因此,當(dāng)復(fù)位操作是由代碼執(zhí)行,例如,執(zhí)行數(shù)據(jù)輸出程序的結(jié)束代碼M30 時,在程序的結(jié)束部分應(yīng)指定關(guān)閉指令,以確保全部數(shù)據(jù)輸出后才執(zhí)行M30 處理。4 在括號中的縮寫宏程序字保持不變。但是,當(dāng)括號中的字符被分
51、開并分幾次輸入時,第2 和以后的縮寫被轉(zhuǎn)換并輸入。5 可以在括號 中指定。注意,當(dāng)括號 中的字符被分開并分幾次輸入時,在第2 和以后的輸入中被忽略。中斷型用戶宏程序當(dāng)程序正在執(zhí)行時,來自機(jī)床的中斷輸入信號(uint)可以調(diào)用另一個程序。該功能稱為中斷型用戶宏程序功能。以下面的格式指定中斷指令:M96 P0000;用戶宏程序中斷有效M97; 用戶宏程序中斷無效說明 中斷型用戶宏程序功能允許在程序執(zhí)行期間在任一程序段調(diào)用另一個程序。這就可使程序根據(jù)隨時變化的條件實(shí)時地運(yùn)行。(1) 當(dāng)檢測到刀具的異常狀態(tài)時,用外部信號啟動異常過程的處理。(2) 加工運(yùn)行的順序由另一個加工操作中斷而不取消現(xiàn)在的運(yùn)行。
52、(3) 以固定的間隔,讀取與現(xiàn)在加工有關(guān)的信息。以上所敘為中斷型用戶宏程序功能中的適應(yīng)控制應(yīng)用。當(dāng)在程序中指定M96 P××××時,輸入中斷信號(UINT)可中斷之后的程序,轉(zhuǎn)而執(zhí)行由P××××指令的程序。注意在M97 指定后,中斷信號(UINT,在圖15.11 中用*標(biāo)記)的輸入被忽略。并且,在中斷程序執(zhí)行期間,不得輸入中斷信號。指定方法說明說明 中斷條件用戶宏程序中斷只能在程序執(zhí)行期間有效。在下列條件下使用:-存儲器運(yùn)行或MDI 運(yùn)行時-STL(啟動燈)亮?xí)r-目前不處理用戶宏中斷時 指定 一般情況下,指定M96
53、 使中斷信號(UINT)有效,可以執(zhí)行用戶宏程序中斷功能。M97 使信號無效。一旦指定M96,輸入中斷信號(UINT)使用戶宏程序中斷開始。直到指定M97 或NC 復(fù)位后,中斷型宏程序功能取消。在指定M97 或NC 復(fù)位以后,即使輸入中斷信號(UINT),用戶宏程序中斷也不執(zhí)行,中斷信號被忽略直到指定另一個M96。指定M96 后,中斷信號(UINT)生效。在M97 方式中,即使輸入信號,也被忽略。當(dāng)在M97 方式中斷信號輸入并保持接通直到M96 指定時,(用狀態(tài)觸發(fā)形式時)立即執(zhí)行宏程序中斷。當(dāng)使用邊沿觸發(fā)形式時,即使指定M96,宏程序中斷也不執(zhí)行。注狀態(tài)觸發(fā)和邊沿觸發(fā)形式,見II“用戶宏程序
54、中斷信號”。功能的詳細(xì)說明說明子程序型中斷和宏程序型中斷有兩種形式的用戶宏程序中斷:子程序型中斷和宏程序型中斷。使用的中斷類型由MSB(參數(shù)6003 的5 位)選擇。(a)子程序型中斷中斷程序作為子程序調(diào)用。這意味著在中斷前后局部變量的級別保持不變。中斷不包含在子程序調(diào)用的嵌套級中。(b)宏程序型中斷中斷程序作為宏程序調(diào)用。這意味著在中斷前后局部變量的級別要改變。中斷不包含在宏程序調(diào)用的嵌套級中。當(dāng)在中斷程序內(nèi)執(zhí)行子程序調(diào)用或用戶宏程序調(diào)用時,這個調(diào)用包含在子程序調(diào)用或宏程序調(diào)用的嵌套級中。即使用戶宏程序中斷是宏程序型中斷時,自變量也不能從現(xiàn)在程序傳遞。用戶宏程序中斷控制的M 代碼在一般情況下
55、,用戶宏程序中斷由M96 和M97 控制。但是,這些代碼可能已被某些機(jī)床制造廠用于其它用途(例如,M 功能或宏程序M 代碼調(diào)用)。由于這個原因,可用MPR(參數(shù)6003 的4 位)設(shè)定用戶宏程序中斷控制的M 代碼。當(dāng)設(shè)定該參數(shù)指定用M 代碼調(diào)用中斷型宏程序時,應(yīng)將M 代碼設(shè)在參數(shù)6033 和6034 中:在參數(shù)6033 中設(shè)定使用戶宏程序中斷有效的M 代碼。而在參數(shù)6034中設(shè)定使用戶宏程序中斷無效的M 代碼。當(dāng)指定不用參數(shù)設(shè)定的M 代碼時,M96 和M97 用作中斷型用戶宏程序控制的M 代碼,而不管參數(shù)6033 和6034 的設(shè)定。用作用戶宏程序中斷控制的M 代碼被內(nèi)部處理(它們不輸出到外部裝置)。但是,從程序的兼容性考慮,不希望使用M96 和M97 以外的M 代碼控制用戶宏程序中斷。用戶宏程序中斷和NC 語句 當(dāng)執(zhí)行用戶宏程序中斷時,用戶有時希望中斷正在執(zhí)行的NC 語句,或者希望執(zhí)行完當(dāng)前的程序段后再執(zhí)行中斷。這時,可用參數(shù)MIN(參數(shù)6003 的2 位)選擇是在程序段的中間執(zhí)行中斷,還是等到程序段結(jié)束后再執(zhí)行中斷。型(在程序段中執(zhí)行中斷) (
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024正規(guī)汽車租賃公司車輛事故賠償合同范本3篇
- 2024年貨車運(yùn)輸合同:涉及原油石油運(yùn)輸?shù)臈l款及保險
- 二零二五年度數(shù)據(jù)中心建設(shè)用預(yù)拌混凝土合同3篇
- 二零二五年度MCN機(jī)構(gòu)與公益活動合作合同范本3篇
- 川教版(2024)小學(xué)信息技術(shù)三年級上冊《作品在線共分享》說課稿
- 二零二五年度機(jī)床設(shè)備租賃及配套耗材供應(yīng)合同3篇
- 2024智能倉儲物流系統(tǒng)研發(fā)與實(shí)施合同
- 2024版員工放棄社保權(quán)益確認(rèn)合同版B版
- 二零二五年度關(guān)聯(lián)公司供應(yīng)鏈金融借款合同范本2篇
- 發(fā)展定制化服務(wù)滿足個性化需求
- 施工現(xiàn)場環(huán)境因素識別、評價及環(huán)境因素清單、控制措施
- 2024年醫(yī)藥行業(yè)年終總結(jié).政策篇 易聯(lián)招采2024
- 《工業(yè)園區(qū)節(jié)水管理規(guī)范》
- 兒科護(hù)士述職報告2024
- 警校生職業(yè)生涯規(guī)劃
- 股權(quán)投資協(xié)議的風(fēng)險控制
- 酒店微笑服務(wù)培訓(xùn)
- 浙江省嘉興市2023-2024學(xué)年七年級上學(xué)期語文期末試卷(含答案)
- 2025企業(yè)年會盛典
- 《鴻蒙智能互聯(lián)設(shè)備開發(fā)(微課版)》全套教學(xué)課件
- 215kWh工商業(yè)液冷儲能電池一體柜用戶手冊
評論
0/150
提交評論