能完成某一功能的一系列指令像子程序那樣存入存儲器,,用一個總指令來它們,使用時只需給出這個總指令就能執(zhí)行其功能,。
能完成某一功能的一系列指令像子程序那樣存入存儲器,,用一個總指令來它們,使用時只需給出這個總指令就能執(zhí)行其功能,。
所存入的這一系列指令——用戶宏程序
調(diào)用宏程序的指令————宏指令
特點:使用變量
一. 變量的表示和使用
?。ㄒ唬?變量表示
#I(I=1,2,3,…)或#[<式子>]
例:#5,,#109,,#501,#[#1+#2-12]
?。ǘ?變量的使用
1. 地址字后面指定變量號或公式
格式:?。嫉刂纷郑荆
<地址字>-#I
?。嫉刂纷郑綶<式子>]
例:F#103,,設(shè)#103=15 則為F15
Z-#110,設(shè)#110=250 則為Z-250
X[#24+#18*COS[#1]]
2. 變量號可用變量代替
例:#[#30],,設(shè)#30=3 則為#3
3. 變量不能使用地址O,,N,I
例:下述方法下允許
O#1,;
I#2 6.00×100.0;
N#3 Z200.0,;
4. 變量號所對應的變量,對每個地址來說,,都有具體數(shù)值范圍
例:#30=1100時,,則M#30是不允許的
5. #0為空變量,,沒有定義變量值的變量也是空變量
6. 變量值定義:
程序定義時可省略小數(shù)點,例:#123=149
MDI鍵盤輸一. 變量的種類
1. 局部變量#1~#33
一個在宏程序中局部使用的變量
例: A宏程序 B宏程序
… …
?。?0=20 X#10 不表示X20
… …
斷電后清空,,調(diào)用宏程序時代入變量值
2. 公共變量#100~#149,#500~#531
各用戶宏程序內(nèi)公用的變量
例:上例中#10改用#100時,,B宏程序中的
X#100表示X20
?。?00~#149 斷電后清空
#500~#531保持型變量(斷電后不丟失)
3. 系統(tǒng)變量
固定用途的變量,,其值取決于系統(tǒng)的狀態(tài)
例:#2001值為1號刀補X軸補償值
?。?221值為X軸G54工件原點偏置值
入時必須輸入小數(shù)點,小數(shù)點省略時單位為μm
一. 運算指令
運算式的右邊可以是常數(shù),、變量,、函數(shù)、式子
式中#j,,#k也可為常量
式子右邊為變量號,、運算式
1. 定義
#I=#j
2. 算術(shù)運算
?。=#j+#k
?。=#j-#k
#I=#j*#k
?。=#j/#k
3. 邏輯運算
?。=#JOK#k
#I=#JXOK#k
?。=#JAND#k
4. 函數(shù)
?。=SIN[#j] 正弦
#I=COS[#j] 余弦
?。=TAN[#j] 正切
?。=ATAN[#j] 反正切
#I=SQRT[#j] 平方根
?。=ABS[#j] 絕對值
?。=ROUND[#j] 四舍五入化整
#I=FIX[#j] 下取整
?。=FUP[#j] 上取整
?。=BIN[#j] BCD→BIN(二進制)
?。=BCN[#j] BIN→BCD
1. 說明
1) 角度單位為度
例:90度30分為90.5度
2) ATAN函數(shù)后的兩個邊長要用“1”隔開
例:#1=ATAN[1]/[-1]時,,#1為了35.0
3) ROUND用于語句中的地址,按各地址的最小設(shè)定單位進行四舍五入
例:設(shè)#1=1.2345,,#2=2.3456,,設(shè)定單位1μm
G91 X-#1,;X-1.235
X-#2 F300;X-2.346
X[#1+#2],;X3.580
未返回原處,,應改為
X[ROUND[#1]+ROUND[#2]];
4) 取整后的絕對值比原值大為上取整,,反之為下取整
例:設(shè)#1=1.2,,#2=-1.2時
若#3=FUP[#1]時,則#3=2.0
若#3=FIX[#1]時,,則#3=1.0
若#3=FUP[#2]時,,則#3=-2.0
若#3=FIX[#2]時,則#3=-1.0
5) 指令函數(shù)時,,可只寫開頭2個字母
例:ROUND→RO
FIX→FI
6) 優(yōu)先級
函數(shù)→乘除(*,,1,AND)→加減(+,,-,,OR,XOR)
例:#1=#2+#3*SIN[#4],;
7) 括號為中括號,,最多5重,園括號用于注釋語句
例:#1=SIN[[[#2+#3]*#4+#5]*#6],;(3重)
一. 轉(zhuǎn)移與循環(huán)指令
1.無條件的轉(zhuǎn)移
格式: GOTO 1,;
GOTO #10,;
2.條件轉(zhuǎn)移
格式: IF[<條件式>= GOTO n
條件式:
?。 EQ#k 表示=
#j NE#k 表示≠
?。 GT#k 表示>
?。 LT#k 表示<
#j GE#k 表示≥