數控宏程式

數控宏程式編程,是用變數的方式進行數控編程的方法。數控宏程式分為A類和B類宏程式,其中A類宏程式比較老,編寫起來也比較費時費力,B類宏程式類似於C語言的編程,編寫起來也很方便。不論是A類還B類宏程式,它們運行的效果都是一樣的。 一般說來,華中的數控工具機用的是B類宏程式,廣州數控工具機用的是A類宏程式。

基本信息

優點

1.可以編寫一些非圓曲線,如宏程式編寫橢圓,雙曲線,拋物線等。

2.編寫一些大批相似零件的時候,可以用宏程式編寫,這樣只需要改動幾個數據就可以了,沒有必要進行大量重複編程。

使用方法

A類宏程式

1)變數的定義和替換 #i=#j

編程格式 G65 H01 P#i Q#j

例 G65 H01 P#101 Q1005; (#101=1005)

G65 H01 P#101 Q-#112;(#101=-#112)

2)加法 #i=#j+#k

編程格式 G65 H02 P#i Q#j R#k

例 G65 H02 P#101 Q#102 R#103;(#101=#102+#103)

3)減法 #i=#j-#k

編程格式 G65 H03 P#i Q#j R#k

例 G65 H03 P#101 Q#102 R#103;(#101=#102-#103)

4)乘法 #i=#j×#k

編程格式 G65 H04 P#i Q#j R#k

例 G65 H04 P#101 Q#102 R#103;(#101=#102×#103)

5)除法 #i=#j / #k

編程格式 G65 H05 P#i Q#j R#k

例 G65 H05 P#101 Q#102 R#103;(#101=#102/#103)

6)平方根 #i=

編程格式 G65 H21 P#i Q#j

例 G65 H21 P#101 Q#102;(#101= )

7)絕對值 #i=│#j│

編程格式 G65 H22 P#i Q#j

例 G65 H22 P#101 Q#102;(#101=│#102│)

8)複合平方根1 #i=

編程格式 G65 H27 P#i Q#j R#k

例 G65 H27 P#101 Q#102 R#103;( #101=

9)複合平方根2 #i=

編程格式 G65 H28 P#i Q#j R#k

例 G65 H28 P#101 Q#102 R#103

1)邏輯或 #i=#j OR #k

編程格式 G65 H11 P#i Q#j R#k

例 G65 H11 P#101 Q#102 R#103;(#101=#102 OR #103)

2)邏輯與 #i=#j AND #k

編程格式 G65 H12 P#i Q#j R#k

例 G65 H12 P#101 Q#102 R#103;#101=#102 AND #103

(3)三角函式指令

1)正弦函式 #i=#j×SIN(#k)

編程格式 G65 H31 P#i Q#j R#k (單位:度) .

例 G65 H31 P#101 Q#102 R#103;(#101=#102×SIN(#103))

2)餘弦函式 #i=#j×COS(#k)

編程格式 G65 H32 P#i Q#j R#k (單位:度)

例 G65 H32 P#101 Q#102 R#103;(#101=#102×COS(#103))

3)正切函式 #i=#j×TAN#k

編程格式 G65 H33 P#i Q#j R#k (單位:度)

例 G65 H33 P#101 Q#102 R#103;(#101=#102×TAN(#103))

4)反正切 #i=ATAN(#j/#k)

編程格式 G65 H34 P#i Q#j R#k (單位:度,0o≤ #j ≤360o)

例 G65 H34 P#101 Q#102 R#103;(#101=ATAN(#102/#103)

(4)控制類指令

編程格式 G65 H80 Pn (n為程式段號)

例 G65 H80 P120;(轉移到N120)

2)條件轉移1 #j EQ #k(=)

編程格式 G65 H81 Pn Q#j R#k (n為程式段號)

例 G65 H81 P1000 Q#101 R#102

當#101=#102,轉移到N1000程式段;若#101≠ #102,執行下一程式段。

3)條件轉移2 #j NE #k(≠)

編程格式 G65 H82 Pn Q#j R#k (n為程式段號)

例 G65 H82 P1000 Q#101 R#102

當#101≠ #102,轉移到N1000程式段;若#101=#102,執行下一程式段。

4)條件轉移3 #j GT #k (> )

編程格式 G65 H83 Pn Q#j R#k (n為程式段號)

例 G65 H83 P1000 Q#101 R#102

當#101 > #102,轉移到N1000程式段;若#101 ≤#102,執行下一程式段。

5)條件轉移4 #j LT #k(<)

編程格式 G65 H84 Pn Q#j R#k (n為程式段號)

例 G65 H84 P1000 Q#101 R#102

當#101 < #102,轉移到N1000;若#101 ≥ #102,執行下一程式段。

6)條件轉移5 #j GE #k(≥)

編程格式 G65 H85 Pn Q#j R#k (n為程式段號)

例 G65 H85 P1000 Q#101 R#102

當#101≥ #102,轉移到N1000;若#101<#102,執行下一程式段。

7)條件轉移6 #j LE #k(≤)

編程格式 G65 H86 Pn Q#j Q#k (n為程式段號)

例 G65 H86 P1000 Q#101 R#102

當#101≤#102,轉移到N1000;若#101>#102,執行下一程式段。

B類宏程式

1. 定義

#I=#j

2. 算術運算

#I=#j+#k  (加)

#I=#j-#k  (減)

#I=#j×#k  (乘)

#I=#j/#k   (除)

3.1 邏輯函式之布爾函式

= EQ 等於

≠ NE 不等於

> GT 大於

< LT 小於

≥ GE 大於或等於

≤ LE 小於或等於

例:#I = #j 即#I EQ #J

3.2 邏輯函式之二進制函式

#I=#J AND #k  (與,邏輯乘)

#I=#J OR #k  (或,邏輯加)

#I=#J XOR #k  (非,邏輯減)

4.三角函式

#I=SIN[#j] 正弦

#I=COS[#j] 餘弦

#I=TAN[#j] 正切

#I=ASIN[#j]反 正弦

#I=ACOS[#j]反 餘弦  #I=ATAN[#j] 反正切

5.四捨五入函式

#I=ROUND[#j] 四捨五入化整

#I=FIX[#j] 上取整

#I=FUP[#j] 下取整

6.輔助函式

#I=SQRT[#j] 平方根

#I=ABS[#j] 絕對值

#I= LN [#j] 自然對數

#I= EXP [#j] 指數函式

7.變換函式  #I=BIN[#j] BCD→BIN(十進制轉二進制)

#I=BCD[#j] BIN→BCD  (二進制轉十進制)

8.轉移和循環

1〉.無條件的轉移  格式: GOTO 1;  GOTO #10;

2〉.條件轉移1  格式: IF[<條件式>] GOTO n

條件式:例:#j=#k用 #j EQ #k 表示,即 IF[#j EQ #k] GOTO n

3〉.條件轉移2 格式: IF[<條件式>] THEN #I

例:IF[#j EQ #k] THEN #a=#b

4〉.循環 格式:WHILE [<條件式>] DOm , (m=1、2、3)

N10~~~~~~~~~

N20~~~~~~~~~~~~

ENDm (上下兩個m只能為1、2、3且必須相

同, 這樣才能夠成一段程式的循環)

1. 說明  1) 角度單位為度  例:90度30分為90.5度

2) ATAN函式後的兩個邊長要用“1”隔開  例:#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  未返回原處,應改為  X[ROUND[#1]+ROUND[#2]];

4) 取整後的絕對值比原值大為上取整,反之為下取整  例:設#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) 簡寫函式時,可只寫開頭2個字母  例:ROUND→RO  FIX→FI  GOTO→GO

6) 優先權  函式→乘除(*,1,AND)→加減(+,-,OR,XOR)  例:#1=#2+#3*SIN[#4];

7) 括弧為中括弧,最多5重,園括弧用於注釋語句  例:#1=SIN[[[#2+#3]*#4+#5]*#6];(3重)

轉移與循環指令

相關詞條

相關搜尋

熱門詞條

聯絡我們