⑴ 加工中心宏程序
一、變數
1、變數的表示
FANUC系統使用「#」表示變數,例如:#1、#100等。變數根據變數號可以分成四種類型,見下表。
變數號 變數類型 功能
#0 空變數 該變數總是空,任何值都不能賦給該變數
#1~#33
局部變數 局部變數只能用在宏程序中存儲數據,例如,運算結果。當斷電時,局部變數被初始化為空。調用宏程序時,自變數對局部變數賦值
#100~#109
#500~#999 公共變數 公共變數在不同的宏程序中的意義相同。當斷電時,變數#500~#999的數據保存,即使斷電也不會丟失
#1000以上 系統變數 系統變數用於讀寫CNC運行時的各種數據,例如,刀具當前位置和補償
2、關於變數的說明
(1)變數引用時,為在程序中使用變數值,指定後跟變數號的地址。當用表達式指定變數時,要把表達式放在括弧中,例如,GO X[#1+#2]F#3。式中X後的坐標什即是由#1、#2這兩個變數組成的表達式來表示。
(2)表達式可以用於指定變數號。此時,表達式必須封閉在括弧中,例如,#[#1+#2-12]。
注意:
1) 宏程序中,方括弧用於封閉表達式,圓括弧只表示注釋內容,使用變數時必須注意,FANUC系統通過參數來切換圓括弧和方括弧。
2) 表達式可以表示變數號和變數。這兩者並不一樣,例如,X#[#1+#2]並不等於X[#1+#2]。
3) 當在程序中定義變數時,小數點可以省略。例如,當定義#1=123;變數#1的實際值是123.000。
4) 被引用變數的值根據地址的最小設定單位自動舍入。例如:G00X #1。
5) 改變引用的變數值的符號,要把負號放在「#」的前面。例如:G00X-#1。
6) 當變數值未定義時,這樣的變數成為「空」變數。當引用未定義的變數時,變數及地址字都被忽略。例如,當變數#1的值是0,並且變數#2的值是空時,G00X#1Z#2的執行結果為G00X0。
7) 變數#0總是空變數。它不能寫,只能讀。
二、變數的運算
1、算術、邏輯運算和運算符(見下表)
功能 格式 備注
定義 #i=#j
加法 #i=#j+#k
減法 #i=#j-#k
乘法 #i=#j*#k
除法 #i=#j/#k
正弦 #i=SIN[#j] 角度以度指定。90°30』表示90.5°
反正弦 #i=ASIN[#j]
餘弦 #i=COS[#j]
反餘弦 #i=ACOS[#j]
正切 #i=TAN[#j]
反正切 #i=ATAN[#j]/[#k]
平方根 #i=SQRT[#j]
絕對值 #i=ABS[#j]
舍入 #i=ROUND[#j]
上取整 #i=FUP[#j]
下取整 #i=FIX[#j]
自然對數 #i=LN[#j]
指數函數 #i=EXP[#j]
或 #i=#jOR#k 邏輯運算一位一位地按二進制數執行
異或 #i=#jXOR#k
與 #i=#jEXP#k
從BCD轉為BIN #i=BIN[#j] 用於與PMC的信號交換
從BIN轉為BCD #i=BCD[#j]
2、關於運算符的說明
(1)角度單位
函數SIN、COS、ASIN、ACOS、TAN和ATAN的角度單位是度(°)
(2)上取整和下取整
CNC處理數值運算時,若操作後產生的整數絕對大於原數的絕對值時為上取整;若小於原數的絕對值為下取整。對於負數的處理應小心。
例如:假定#1=1.2,並且#2=-1.2。
當執行#3=FUP[#1]時,2.0賦給#3。
當執行#3=FIX[#1]時,1.0賦給#3。
當執行#3=FUP[#2]時 ,-2.0賦給#3。
當執行#3=FIX[#2]時,-1.0賦給#3。
(3)運算符的優先順序
按優先的先後順序依次是函數→乘和除運算(*、∕、AND、MOD)→加和減運算(+、﹣、OR、XOR)。
(4)括弧嵌套
括弧用於改變運算優先順序。括弧最多可以嵌套使用5級,包括函數內部使用的括弧。
三、功能語句
1、無條件轉移(GOTO)語句——轉移到有順序號n的程序段
格式:
GOTOn ;n指行號
例如:
GOTO1 轉移至第一行
GOTO#10 轉移至變數#10所決定的行
2、運算符(見下表)
運算符 含義 運算符 含義
EQ 等於(=) GE 大於或等於(≥)
NE 不等於(≠) LT 小於(<)
GT 大於(>) LE 小於或等於(≤)
3、條件轉移(IF)語句
(1)IF[表達式] GOTOn
說明:如果指定的條件表達式滿足時,轉移到標有順序號n的程序段;如果指定的條件表達式不32滿足時,則執行下一個程序段。
(2)IF[表達式]THEN
說明:如果表達式滿足,執行預先決定的宏程序語句,且只執行一個宏程序語句。例如,條件語句IF[#1EQ#2]THEN#3=0表示如果#1和#2的值相同,0賦給#3。
4、循環功能(WHILE)語句
格式:WHILE[表達式]DOm ;(m=1,2,3)
……
ENDm
說明:在WHILE後指定一個條件表達式,當指定條件滿足時,執行從DO到END之間的程序;否則,轉到END後的程序段。
提示:通過上述介紹,完全可以藉助系統提供的二次開發功能定製出個性化的宏程序,例如,可以將例4—23中刀具軌跡路徑定製在宏程序中,然後通過G65方式或直接用G代碼調用.常見結構的宏程序定製是有效提高編程效率的手段之一.
⑵ 數控車床宏程序怎麼寫最好帶步驟解說
數控車床宏程序是非常靈活且因情況而異的,所以數控車床宏程序編程掌握以下參數即可:
普通加工程序直接用數值指定G代碼和移動距離;例如,GO1和X100.0。使用用戶宏程序時,數值可以直接指定或用變數指定。當用變數時,變數值可用程序或用MDI面板上的操作改變。
例如:#1=#2+100;G01X#1F300。
量的表示:計算機允許使用變數名,用戶宏程序不行。變數用變數符號(#)和後面的變數號指定。例如:#1,表達式可以用於指定變數號。
此時,表達式必須封閉在括弧中。例如:#[#1+#2-12]。
變數根據變數號可以分成四種類型:#0空變數,該變數總是空,沒有值能賦給該變數。#1-#33局部變數,局部變數只能用在宏程序中存儲數據,例如,運算結果。當斷電時,局部變數被初始化為空。調用宏程序時,自變數對局部變數賦值。
#100-#199、#500-#999公共變數,公共變數在不同的宏程序中的意義相同。當斷電時,變數#100-#199初始化為空。變數#500-#999的數據保存,即使斷電也不丟失。#1000---系統變數。系統變數用於讀和寫CNC運行時各種數據的變化,例如,刀具的當前位置,補償值。
局部變數和公共變數可以有0值或下面范圍中的值:-1047到-10-29或-10-2到-1047,如果計算結果超出有效范圍,則發出P/S報警NO.111。
當在程序中定轎鍵義變數值時,小數點可以省略。例:當定義#1=123;變數#1的實際值是123.000。
為在程序中使用變數值,指定後跟變數號的地址。當用表達式指定變數時,要把表達式放在括弧中。例如:G01X[#1+#2]F#3;
被引用變數的值根據地址的最小設定單位自動地舍入。例如:當G00X#/;以1/1000mm的單位執行時,CNC把123456賦值給變數#1,實際指令值為G00X12346.改變引用變數的值的符號,要把負號(-)放在#的前面。
例如:G00X-#1當引用未定義的變數時,變數及地址都被忽略。例如:當變數#1的值是0,並且變數#2的值是空時,G00X#1Y#2的執行結果為G00X0。
(2)cnc宏程序是哪個擴展閱讀:
數控宏程序編程是用變數的方式進行數控編程的方法,數控宏程序分為A類和閉悄巧B類宏程序,其中A類宏程序比較老,編寫起來也比較費時費力,B類宏程序類似於C語言的編程,編寫起來也很方便運慶。
不論是A類還B類宏程序,它們運行的效果都是一樣的。
編寫一些大批相似零件的時候,可以用宏程序編寫,這樣只需要改動幾個數據就可以了,沒有必要進行大量重復編程。
⑶ 加工中心宏程序
宏程序的作用:
數控系統為用戶配備了強有力的類似於高級語言的宏程序功能,用戶可以使用變數進行算術運算、邏輯運算和函數的混合運算,此外宏程序還提供了循環語句、分支語句和子程序調用語句,利於編制各種復雜的零件加工程序,減少乃至免除手工編程時進行繁瑣的數值計算,以及精簡程序量。
宏程序指令適合拋物線、橢圓、雙曲線等沒有插補指令的曲線編程;適合圖形一樣,只是尺寸不同的系列零件的編程;適合工藝路徑一樣,只是位置參數不同的系列零件的編程。較大地簡化編程;擴展應用范圍。
加工中心宏程序應用:
以下都以#100和#101和#102,及數值10和20做為例子,應用的時候別把他們當格式就行,
基本指令
H01賦值;格式:G65H01P#101Q#102:把#102內的數值賦予到#101中
G65H01P#101Q#10:把#10賦予到#101中
H02加指令;格式G65 H02 P#101 Q#102 R#103,把#102的數值加上#103的數值賦予#101
G65 H02 P#101 Q#102 R10
G65 H02 P#101 Q10 R#103
G65 H02 P#101 Q10 R20
上面4個都是加指令的格式都是把Q後面的數值或變數號內的數值加上R後面的數
值或變數號內的數值然後等於到P後面的變數號中.
H03減指令;格式G65 H03 P#101 Q#102 R#103,把#102的數值減去#103的數值賦予#101
G65 H03 P#101 Q#102 R10
G65 H03 P#101 Q10 R#103
G65 H03 P#101 Q20 R10
上面4個都是減指令的格式都是把Q後面的數值或變數號內的數值減去R後面的數
值或變數號內的數值然後等於到P後面的變數號中.
H04乘指令;格式G65 H04 P#101 Q#102 R#103,把#102的數值乘上#103的數值賦予#101
G65 H04 P#101 Q#102 R10
G65 H04 P#101 Q10 R#103
G65 H04 P#101 Q20 R10
上面4個都是乘指令的格式都是把Q後面的數值或變數號內的數值乘上R後面的數
值或變數號內的數值然後等於到P後面的變數號中.
H05除指令;格式G65 H05P#101 Q#102 R#103,把#102的數值除以#103的數值賦予#101
G65 H05 P#101 Q#102 R10
G65 H05 P#101 Q10 R#103
G65 H05 P#101 Q20 R10
上面4個都是除指令格式都是把Q後面的數值或變數號內的數值除以R後面的數
值或變數號內的數值然後等於到P後面的變數號中.(余數不存,除數如果為0的話會出現112報警)
以上內容參考:網路--宏程序
⑷ 數控車床宏程序怎麼編寫,一般宏程序都加工什麼樣的零件
宏程序一般是在做重復路徑的程序時用,最典型的就是切槽,切墊片等重復的零件會用到
一般是把某個重要數據用變數代數表示,後面在子程序裡面做加減法
如切槽是把Z像坐標用代數表示,如在主程序起點坐標為Z2.,那麼程序可以編時Z=#300,#300=2,然後在子切槽程序里加一段#300=#300-15。
那麼這樣每M99循環一次後定位時Z向就會往裡邊偏15毫米,5毫米的刀那麼切出來的墊片就是10毫米厚。這個你可以在網上下載一些資料看一下,很容易理解的。而且那些很高深的,如乘法,除法,函數....等得應用你剛開始就不要去糾結了,有些難度,但實際工作中基本用不上。你把加減運算弄清楚就可以了,相對來說簡單很多。希望能幫到你
⑸ 數控車床宏程序是什麼意思
定義:能完成某一功能的一系列指令像子程序那樣存入存儲器,用一個總指令來它們,使用時只需給出這個總指令就能執行其功能。
其實說起來宏就是用公式來加工零件的,比如說橢圓,如果沒有宏的話,我們要逐點算出曲線上的點,然後慢慢來用直線逼近,如果是個光潔度要求很高的工件的話,那麼需要計算很多的點,可是應用了宏後,我們把橢圓公式輸入到系統中然後我們給出Z坐標並且每次加10um那麼宏就會自動算出X坐標並且進行切削, 實際上宏在程序中主要起到的是運算作用..宏一般分為A類宏和B類宏.A類宏是以G65 Hxx P#xx Q#xx R#xx的格式輸入的,而B類宏程序則是以直接的公式和語言輸入的和C語言很相似在0i系統中應用比較廣.
⑹ CNC宏程序 求指教。
1、首先加工一個長半軸30,短半軸20一個橢圓,橢圓不是圓弧,所以不能用圓弧的方式來加橢圓,這里用一小段一小段的直線來拼接這個橢圓。