誰能告訴我在宏程序if語句中總有一句類似于#3=#3-0.5的語句是什么意思
程序段為宏程序語句: ? 包含算術或邏輯運算(=)的程序段。
? 包含控制語句(例如,GOTO,DO,END)的程序段。 ? 包含宏程序調用指令(例如,用G65,G66,G67 或其它G 代碼,M 代碼 調用宏程序)的程序段。
除了宏程序語句以外的任何程序段都為NC 語句。 說明 ? 即使置于單程序段運行方式, 機床也不停止。
但是, 當參數 N0.6000#5SBM 設定為1 時,在單程序段方式中,機床停止。 ? 與NC 語句的不同 ? 在刀具半徑補償方式中宏程序語句段不做為不移動程序段處理(見Ⅱ- 15.7 節)。
如果NPS(參數N0.3450#4)為1,滿足以下條件時程序段中的NC 語句 可認為與宏程序語句性質相同。 ? 與宏程序語句有相 同性質的NC 語句 ? 含有子程序調用指令(例如,用M98 或其它M 代碼或用T 代碼調用子 程序)但沒有除O,N 或L 地址之外的其它地址指令的NC 語句其性質 與宏程序相同。
? 不包含除O,N,P 或L 以外的指令地址的程序段其性質與宏程序語句 相同。 15.5.2 IF 之后指定條件表達式。
條件轉移 (IF 語句) IF[<條件表達式>] GOTO n 如果指定的條件表達式滿足時,轉移到標有順序號n 的程序段。如果指定 的條件表達式不滿足,執行下個程序段。
如果變量#1 的值大于10,轉移到順序號N2 的程序段。 IF[#1GT10]GOTO2; 如果條件滿足 程序 如果條件不滿足 N2 G00 G91 X10.0; IF[<條件表達式 >]THEN 如果條件表達式滿足,執行預先決定的宏程序語句。
只執行一個宏程序語 句。 如果#1 和#2 的值相同,0 賦給#3。
IF〔#1 EQ #2〕THEN #3=0; 說明 ·條件表達式 條件表達式必須包括算符。算符插在兩個變量中間或變量和常數中間,并 且用括號 (〔,〕)封閉。
表達式可以替代變量。 運算符由2 個字母組成,用于兩個值的比較,以決定它們是相等還是一個 值小于或大于另一個值。
注意,不能使用不等符號。 ·運算符 表15.5.2 運算符 運算符 含義 EQ 等于(=) NE 不等于(≠) GT 大于(>) GE 大于或等于(≥) LT 小于(LE 小于等于(≤) ·示例程序 下面的程序計算數值1~10 的總和 〇9500 #1=0;???????????存儲和數變量的初值 #2=1;???????????被加數變量的初值 N1 IF〔#2 GT 10〕GOTO2;??當被加數大于10 時轉移到N2 #1=#1+#2;?????????計算和數 #2=#2+#1;?????????下一個被加數 GOTO1;??????????轉到N1 N2 M30;??????????程序結束 功能 格式 備注 定義 #i=#j 加法 #i=#j+#k; 減法 #i=#j-#k; 乘法 #i=#j*#k; 除法 #i=#j/#k; 正弦 #i=SIN[#j]; 反正弦 #i=ASIN[#j]; 余弦 #i=COS[#j]; 反余弦 #i=ACOS[#j]; 正切 #i=TAN[#j]; 反正切 #i=ATAN[#j]/[#k]; 角度以度指定。
90°30′ 表示為90.5 度。 平方根 #i=SQRT[#j]; 絕對值 #i=ABS[#j]; 舍入 #i=ROUND[#j]; 上取整 #i=FIX[#j]; 下取整 #i=FUP[#j]; 自然對數 #i=LN[#j]; 指數函數 #i=EXP[#j]; 或 #i=#j OR #k; 異或 #i=#j XOR #k; 與 #i=#j AND #k; 邏輯運算一位一位地按 二進制數執行。
從BCD 轉為BIN #i=BIN[#j]; 從BIN 轉為BCD #i=BCD[#j]; 用于與PMC 的信號交換 轉移和循環 在程序中,使用GOTO 語句和IF 語句可以改變控制的流向。有三種轉移 和循環操作可供使用: 轉移和循環 GOTO 語句(無條件轉移) IF 語句(條件轉移:IF?THEN?) WHILE 語句(當?時循環) 轉移到標有順序號n 的程序段。
當指定1 到99999 以外的順序號時,出現 P/S 報警No.128。可用表達式指定順序號。
15.5.1 無條件轉移 (GOTO 語句) GOTOn;n:順序號(1~99999) 例: GOTO1; GOTO#10; 15.5.3 循環 (WHILE 語句) 在WHILE 后指定一個條件表達式,當指定條件滿足時,執行從DO 到END 之間的程序。否則,轉到END 后的程序段。
WHILE [條件表達式]DO m;(m=1,2,3) ∶ 如果條件不滿足 END m; 如果條件滿足程序 當指定的條件滿足時,執行WHILE 從DO 到END 之間的程序。否則, 轉而執行END 之后的程序段。
這種指令格式適用于IF 語句。DO 后的號 和END 后的號是指定程序執行范圍的標號,標號值為1,2,3。
若用1, 2,3 以外的值會產生P/S 報警No.126。用下面的方法調用宏程序: 15.6 宏程序調用 宏程序調用 非模態調用(G65) —— 模態調用(G66,G67) —— 用G 代碼調用宏程序 —— 用M 代碼調用宏程序 —— 用M 代碼調用子程序 —— 用T 代碼調用子程序 限制 ? 宏程序調用和子程 宏程序調用(G65)不同于子程序調用(M98),如下所述。
序調用之間的差別 ? 用G65,可以指定自變量(數據傳送到宏程序)。M98 沒有該功能。
? 當M98 程序段包含另一個NC 指令(例如,G01 X100.0 M98Pp)時,在指 令執行之后調用子程序。相反,G65 無條件地調用宏程序。
? M98 程序段包含另一個NC 指令(例如,G01 X100.0 M98Pp)時,在單程 序段方式中,機床停止。相反,G65 機床不停止。
? 用G65,改變局部變量的級別。用M98,不改變局部變量的級別。
說明 ? 呼調 ? 在G65 之后,用地址P 指定用戶宏程序的程序號。 ? 當要求重復時,在地址L 后指定從1 到9999 的重復次數。
省略L 值時, 認為L 等于1。 ? 使用自變量指。
什么是宏程序
什么是宏程序,宏程序在數控編程中的作用: 數控編程是數控加工準備階段的主要內容,通常包括分析零件圖樣,確定加工工藝過程;計算走刀軌跡,得出刀位數據;編寫數控加工程序;制作控制介質;校對程序及首件試切。
有手工編程和自動編程兩種方法。手工編程是指編程的各個階段均由人工完成。
對于幾何形狀復雜的零件需借助計算機使用規定的數控語言編寫零件源程序,經過處理后生成加工程序,稱為自動編程。 隨著數控技術的發展,先進的數控系統不僅向用戶編程提供了一般的準備功能和輔助功能,而且為編程提供了擴展數控功能的手段。
FANUC6M數控系統的參數編程,應用靈活,形式自由,具備計算機高級語言的表達式、邏輯運算及類似的程序流程,使加工程序簡練易懂,實現普通編程難以實現的功能。 宏程序是加工編程的重要補充。
FANUC 6M數控系統變量表示形式為# 后跟1~4位數字,變量種類有三種: (1)局部變量:#1~#33是在宏程序中局部使用的變量,它用于自變量轉移。 (2)公用變量:用戶可以自由使用,它對于由主程序調用的各子程序及各宏程序來說是可以公用的。
#100~#149在關掉電源后,變量值全部被清除,而#500~#509在關掉電源后,變量值則可以保存。 (3)系統變量:由 #后跟4位數字來定義,它能獲取包含在機床處理器或NC內存中的只讀或讀/寫信息,包括與機床處理器有關的交換參數、機床狀態獲取參數、加工參數等系統信息。
編程中變量的用途有四個,運算;遞增量或遞減量;與一個表達式比較之后,決定是否實現跳轉功能的條件分支;將變量值傳送到零件程序中去。其中運算又包括:算術運算(賦值、加、減、乘、除、絕對值、四舍五入整數化、舍去小數點以下部分);函數運算(正弦、余弦、正切、反正切、平方根);邏輯操作(與、或);比較操作(等于、大于、小于、大于或等于、小于或等于、不等于) 宏是一組指令代碼,也可以理解為一段實現連續操作的功能代碼! 什么是宏程序? 數控編程是數控加工準備階段的主要內容,通常包括分析零件圖樣,確定加工工藝過程;計算走刀軌跡,得出刀位數據;編寫數控加工程序;制作控制介質;校對程序及首件試切。
有手工編程和自動編程兩種方法。手工編程是指編程的各個階段均由人工完成。
對于幾何形狀復雜的零件需借助計算機使用規定的數控語言編寫零件源程序,經過處理后生成加工程序,稱為自動編程。 隨著數控技術的發展,先進的數控系統不僅向用戶編程提供了一般的準備功能和輔助功能,而且為編程提供了擴展數控功能的手段。
FANUC6M數控系統的參數編程,應用靈活,形式自由,具備計算機高級語言的表達式、邏輯運算及類似的程序流程,使加工程序簡練易懂,實現普通編程難以實現的功能。 宏程序是加工編程的重要補充。
FANUC6M數控系統變量表示形式為“#”后跟1~4位數字,變量種類有三種: (1)局部變量:#1~#33是在宏程序中局部使用的變量,它用于自變量轉移。 (2)公用變量:用戶可以自由使用,它對于由主程序調用的各子程序及各宏程序來說是可以公用的。
#100~#149在關掉電源后,變量值全部被清除,而#500~#509在關掉電源后,變量值則可以保存。 (3)系統變量:由后跟4位數字來定義,它能獲取包含在機床處理器或NC內存中的只讀或讀/寫信息,包括與機床處理器有關的交換參數、機床狀態獲取參數、加工參數等系統信息。
編程中變量的用途有四個,運算;遞增量或遞減量;與一個表達式比較之后,決定是否實現跳轉功能的條件分支;將變量值傳送到零件程序中去。其中運算又包括:算術運算(賦值、加、減、乘、除、絕對值、四舍五入整數化、舍去小數點以下部分);函數運算(正弦、余弦、正切、反正切、平方根);邏輯操作(與、或);比較操作(等于、大于、小于、大于或等于、小于或等于、不等于)。
其實說起來宏就是用公式來加工零件的,比如說橢圓,如果沒有宏的話,我們要逐點算出曲線上的點,然后慢慢來用直線逼近,如果是個光潔度要求很高的工件的話,那么需要計算很多的點,可是應用了宏后,我們把橢圓公式輸入到系統中然后我們給出Z坐標并且每次加10um那么宏就會自動算出X坐標并且進行切削,實際上宏在程序中主要起到的是運算作用。 。
宏一般分為A類宏和B類宏。 A類宏是以G65 Hxx P#xx Q#xx R#xx的格式輸入的,而B類宏程序則是以直接的公式和語言輸入的和C語言很相似在0i系統中應用比較廣。
由于現在B類宏程序的大量使用很多書都進行了介紹這里我就不再重復了,但在一些老系統中,比如FANUC 0 TD系統中由于它的MDI鍵盤上沒有公式符號,連最簡單的等于號都沒有,為此如果應用B類宏程序的話就只能在計算機上編好再通過RSN-32接口傳輸的數控系統中,可是如果我們沒有PC機和RSN-32電纜的話怎么辦呢,那么只有通過A類宏程序來進行宏程序編制了,下面我介紹一下A類宏的引用; 。 。
。 第7章 宏 程 序 教 程 。
。 宏程序簡介: 在編程工作中,我們經常把能完成某一功。
FANUC 宏程序怎么用
FANUC系統A類宏程序: A宏程序的編制方法就是: 利用變量編程的 (1)條件語句1 IF [條件表達式] GOTO n n…. 當條件滿足時,程序就跳轉到同一程序中語句標號為n的 語句上繼續執行, 當條件不滿足時,程序執行下一條語句 2)條件語句2WHILE [條件表達式] DO m。
…END m 當條件滿足時,從DO m到ENDm之間的程序就重復執行; 當條件不滿足時,程序就執行ENDm下一條語句. (3)橢圓的解析方程: (4)橢圓的參數方程: 條件語句2) (5)橢圓加工程序 N010 #1=1 角度步長 N020 #2=-90 (270) 初始角度 N030 #3=90 終止角度 N040 #4=10 刀具半徑 N050 #5=30 長半軸 N060 #6=20 短半軸 N070 G90G00X0Y [#6+#4] 刀具運行到(0,-30,)的位置 N080 S1000M03 N090 G01Z-3F100 刀具下到-3mm N100 WHILE[#2LE#3]DO1 起始角度小于等于終止角度 N110 #7=#5*COS[#2] 計算X坐標值(橢圓參數方程) N120 #8=#6*SIN[#2] 計算Y坐標值 (橢圓參數方程) N130 G1X#7Y#8F300 直線插補一個步長 N14 0#2=#2+#1 變量#2增加一個角度步長 N150 END1 N160 G90G00Z100.0M05 快速抬刀。