網站地圖

您好,歡迎進(jìn)入蘇(sū)州(zhōu)黄片91測量設(shè)備有限公司官網!
CNC數控行(háng)業(yè)在機測量品質服務商

CNC On-machine Measurement Quality Service Provider

全國銷售熱線:

400-017-9165

行業百科

數控加工宏程序(xù)中變量(liàng)的表示和使用

發布日期(qī):2022-10-21 09:22:08  點(diǎn)擊次數:6726

現(xiàn)在很多(duō)數控技術人員不(bú)懂宏程序。他們認為有(yǒu)了自動(dòng)編程軟件,就(jiù)不需要學習宏程序了。其實宏程(chéng)序是很(hěn)強大的,比(bǐ)如寫一些批量(liàng)的,重複性的程序。使用宏(hóng)程序(xù)時,隻需更(gèng)改少量數據。不需(xū)要做大量(liàng)的(de)重複編程(chéng),可以大大簡化操作,大大提高工作效率(lǜ)。


宏可以(yǐ)使用(yòng)變量進行函數的算術運算、邏輯運算和混(hún)合運算,還提供循環語(yǔ)句、分支語(yǔ)句和子程序調用語句(jù)。


一般(bān)來說,宏程序適用於圖形相同但尺寸不同的係列(liè)零(líng)件的編程;適用於加工路徑相同但位置參數不同的係列零(líng)件的編程(chéng);適用於拋物線、橢圓、雙曲線等曲線編程。無插補指令。


01

變量的表示和使用


1.可變(biàn)表示(shì)


#I(I=1,2,3,…)或# []

例如:#5、#109、#501、[# 1+# 2-12]


2.變量(liàng)的使用


1)在地址字後指定變量編號(hào)或公式。

格(gé)式:#I

這裏的“I”代表變量(liàng)數。

例:F#103,如果#103=15,則為F15。

Z-#110,其中#110=250是Z-250。

X[#24+#18*COS[#1]]


2)變(biàn)量數可以用變(biàn)量代替。

例:#[#30],設#30=3為#3。


3)變量(liàng)不能使用地址O,N,I。

示例:允許使用以下方法。

o # 1;

I # 2 6.00×100.0;

N # 3 Z200.0


4)對應於(yú)變量編號的(de)變量對於(yú)每個地(dì)址具有特定的數值範圍。

例:當#30=1100時,則不允許(xǔ)M#30。


5)#0是空變量,沒有定義變量值的變量也是空變量。


6)變量值的(de)定義:

定義程序(xù)時可以省略小數點,例如:#123=149


02

變量的類型


1.局部變量#1~#33


宏程序中局部使用的一種變量,其結果不能被其它程序(xù)使用。

示例:a宏程序b宏程序

… …

#10=20 X#10不代表X20

… …

斷電後會清零,調用宏(hóng)程序。


2.公共(gòng)變量#100~#199,#500~#999


每個用戶宏程序中的公共變量與任何程序調用具有相同的操作結果。

示例:在上麵的示例中,當#10更改為#100時

X#100表示X20。

#100~#149停電後放空(kōng)

#500~#531保持型變量(斷電後不會丟失)


3.係統變(biàn)量(liàng)


一種有固定用途的變量,其值(zhí)取(qǔ)決於係統的狀態。

例:#2001的值是1號刀(dāo)具的X軸補償(cháng)值。

#5221值是X軸G54工件原點的偏移值

輸入時,必須(xū)輸入小(xiǎo)數點。省略小數點時,單位為(wéi)μ m。


03

操作指令


公式右邊可以是常量,變量,函數,公式。

其中#j和#k也可以是常數。

公式的右(yòu)邊是可變數字和表達式。


1.定義


#I=#j


2.算術運算(suàn)


#I=#j+#k

#I=#j-#k

#I=#j*#k

#I=#j/#k


3.邏輯運算


#我(wǒ)=#JOK#k

#I=#JXOK#k

#我=#JAND#k


4.功能


正弦,正弦

#I=COS[#j]餘弦

#I=TAN[#j]正切

#I=ATAN[#j]反正切

# I = sqrt的平方根[# j]

#I=ABS[#j]絕對值

#I=ROUND[#j]一圈又一圈。

# I =定點(diǎn)舍入[# j]

#I=FUP[#j]舍入

#I=BIN[#j] BCD→BIN(二進製)

#I=BCN[#j] BIN→BCD


1)角(jiǎo)度單位是度。

例:90度和30度除以90.5度


atan函數後的兩邊應該用"/"隔開

例如(rú):當#1=ATAN[1]/[-1]時,#1代表35.0


3) ROUND用於語句中的地址,按照每個地址的最小集合單位進行舍入。

例:設#1=1.2345,#2=2.3456,單位設為1 μ m。

g91 X-# 1;X-1.235

x-# 2 F300;X-2.346

x[# 1+# 2];X3.580

未(wèi)放回原處的,應改為

x[ROUND[# 1]+ROUND[# 2]];


4)舍入(rù)後的絕對值大於原值,所以向上舍入,否則向下舍入。

例如:讓#1=1.2,而# 2 =-1.2

如果(guǒ)#3=FUP[#1],#3=2.0

如果#3=固定[#1],則#3=1.0

如果(guǒ)#3=FUP[#2],#3=-2.0

如果#3=固定[#2],則#3=-1.0


5)在指示函數時,隻能寫前兩個字母。

示例(lì):圓形→圓形

修複→FI


6)優先級

函數→乘法和除法(*、1和)→加法(fǎ)和減法(+、-或、異(yì)或(huò))

例:# 1 = # 2+# 3 * sin[# 4];


7)括號是中間括號,最多5個權(quán)重。括號用於注釋語句。

例:# 1 = sin[[# 2+# 3]* # 4+# 5]* # 6];(三倍)


04

和轉移循環指(zhǐ)令


1.無條件轉移(yí)


格式(shì):GOTO n;;


無條件轉移到程序(xù)段n

n:程序段號(hào)(1-99999)

n也可以用變量或(huò)表(biǎo)達式代替。

GOTO10

轉到# 10;


2.有條件轉移


IF[]GOTO n;

如果是,下一個操作將轉移到程序段號為n的程序段。

如果沒有,執行下一個程序段。


如果[]那麽……;

如果是,則執行其後的宏程序語句(jù),並且隻執行一條語句。

如果[#1EQ #2]那麽# 3 = 0;


條件公式:

#j和#k也可以用來代替


示例:if[# 1gt 10]goto 100;

N100 G00 G91 X10

例:求1到10的和(hé)。

O9500

#1=0

#2=1

N1 IF [#2 GT10]轉到2

#1=#1+#2;

#2=#2+1;

轉到1

N2 M30


3.流通


格式:WHILE[]DO m;;(m=1,2,3)

重複塊


1.當條件(jiàn)滿足時,執行DOm到ENDm,然後從DOm的程序段。

如果沒有,執行ENDm後麵的程(chéng)序(xù)段。

2.省略WHILE語句(jù)隻有DOm…ENDm,從DOm到ENDm形成一個無限(xiàn)循(xún)環(huán)。

3.嵌(qiàn)套

4.當(dāng)4。EQ NE,null和“0”是不同的。

否則,null和“0”是(shì)相同(tóng)的。


例:求1到10的(de)和。

O0001

#1=0;

#2=1;

而[# 2le 10]DO1;

#1=#1+#2;

#2=#2+#1;

END1

M30

版權所有© 蘇(sū)州黄片91測(cè)量(liàng)設(shè)備有限公司 備案號: 蘇(sū)ICP備19011283號-2 蘇公網安備32050602013644號
黄片91_91成人版_91视频最新网址_91视频免费观看