全國服(fú)務熱線
tg1203@foxmail.com

全國服(fú)務熱線tg1203@foxmail.com
運算符:
運算(suàn)符(fú)由2個字母組成(chéng),用於兩個值的比較,以決定它(tā)們是相等還(hái)是一個值小於或大於另一個值。注意,不能使用不等號
運(yùn)算符 | 含義 |
EQ | 等於(=) |
NE | 不等於 |
GT | 大於 |
GE | 大於或等於 |
LT | 小於 |
LE | 小於或等於 |
示例程序
下麵的程序計算數值1~10的總和
O9500;
#1=0;…………………………存(cún)儲和的變量初值
#2=1;…………………………被加數變量的初值
N1 IF[#2GT 10]GOTO 2;……當(dāng)被加數大於10時轉(zhuǎn)移到N2
#1=#1+#2;…………………計算和
#2=#2+#1;…………………下一個被加(jiā)數
GOTO 1;……………………轉移到N1
N2 M30;............................程(chéng)序結束
算術和邏輯運算:
功能 | 格式 | 備注 |
定義(yì) | #i=#j: | |
加法(fǎ) | #i=#j+#k | |
減(jiǎn)法 | #i=#j-#k | |
乘法 | #i=#j*#k | |
除法 | #i=#j/#k | |
正弦 | #i=SIN[#j]: | 角(jiǎo)度以度指定090度30分表示為90.5度 |
反正弦 | #i=ASIN[#j]: | |
餘弦 | #i=COS[#j]: | |
反餘弦 | #i=ACOS[#j]: | |
正切 | #i=TAN[#j]: | |
反正(zhèng)切(qiē) | #i=ATAN[#j]: | |
平方根 | #i=SQRT[#j]: | |
絕對值 | #i=ABS[#j]: | |
舍入 | #i=ROUND[#j]: | |
上取(qǔ)整 | #i=FIX[#j]: | |
下取整 | #i=FUP[#j]: | |
自然數對數 | #i=LN[#j]: | |
指數函(hán)數 | #i=EXP[#j]: | |
或 | #i=#jOR#k: | 邏輯(jí)運算一位一位地按二進製數執行 |
異或 | #i=#jXOR#k: | |
與 | #i=#jAND#k: | |
從BCD轉為BIN | #i=BCD#j; | 用於與PMC的信號交換 |
從BIN轉為BCD | #i=BCD#j; |
角度單位:
SIN、ASIN、COS、ACOS、TAN和ATAN的(de)角度單位是度
ARCSIN#i=ASIN[#j]:
●取值範圍如(rú)下:當參數(N0.6004¥0)NAT位設為0時,270~90度;當參數(N0.6004¥0)NAT位設為1時,-90~90度。
● 當#j超過(guò)-1到1的範圍時,發出P/S報警N0.111。
● 常數可替代變量#j。
ARCCOS#i=ACOS[#j];
● 取值範圍從180~0度。
● 當#j超過-1到1的範圍時,發出P/S報警N0.111。
● 常數可替代變量#j。
ARCTAN#i=ATAN[#j];
● 指定兩邊的(de)長度,並用斜杠(/)分開
● 取值範圍如下:當參數(N0.6004¥0)NAT位設為0時(shí),0~360度[例(lì)如:當指定#i=ATAN[-1]/[-1];時,#1=225度]。當參(cān)數(N0.6004¥0)NAT位設為1時,-180~180度[例如:當指定#i=ATAN[-1]/[-1];時,#1=-135度]
● 常數可替代變量#j。
自然對數#i=LN[#j];
● 注意,相對誤差可能大於10-8。
● 當反對數(#j)為0或(huò)小於0時,發出報警N0.111。
● 常數可(kě)替代變量#j。
指數函數#i=EXP[#j]:
● 注意,相對(duì)誤差可能大於10-8
● 當運算結(jié)果超過3.65×1047(j大約是110)時,出現溢出報警N0.111
● 常數可替代變量#j。
上取整下取整:
CNC處理數值運算時,若操作後產生整數絕對值大於原數的(de)絕對值(zhí)時為(wéi)上取整;小於為下取整。例如:
假設#1=1.2,#2=-1.2。當執行#3=FUP[#1]時,2.0賦給#3;當執行#3=FIX[#1]時1.0賦給(gěi)#3;當執(zhí)行#3=FUP[#2]時,-2.0賦給#3;當執行#3=FIX[#2]時,-1.0賦給#3。
宏程序語句:包(bāo)含算術或邏輯(jí)運算(=)的程序(xù);包含控製語句(例如,用GOTO,DO,END)的程序;包含宏程(chéng)序調用指(zhǐ)令(例如,用G65,G66,G67或其它(tā)G代碼,M代碼調用宏程序)的程序(xù)段;除宏程(chéng)序以外任(rèn)何程序段都為NC語句。
與NC語句的不(bú)同:
即使置於單段程序運行方式,機床也不停止。但是,當參數N0.6000#5SBM設定位、為1時,在單段程序方式(shì)中,機床停止。在刀具半徑補償方式(shì)中宏程序語句段(duàn)不做為移動程序段處理
與宏程序語句相同性質(zhì)的NC語句:
含有子程序調用指令(例如,用M98或其它M代碼或用T代碼調用子程序(xù))但沒(méi)有除O,N,P或L地(dì)址之外的其它(tā)地址(zhǐ)指令的NC語句,其性(xìng)質與宏程序(xù)語句相同;不包含除O,N,P或L以外的指令地址的程序段(duàn)其性(xìng)質與宏程序語句相同。
無限循(xún)環;
當指定DO而沒有(yǒu)指(zhǐ)定WHILE語句時,產生從DO到END的無限循環。
宏程序調用和子程序調用之(zhī)間的差別:
宏程(chéng)序調用(yòng)(G65)不同於子程序調用(G98),如下(xià)所述:
● 用G65,可以指定自變量(liàng)(數據傳送到宏程序)。M98沒有該功能。
● 當M98程序段包含另一(yī)個NC指令(例如。G01.X100.0M98PP)時,在指令執行之後調用子程(chéng)序。相反(fǎn),G65無條件的調用子程序。
● M98程序段包含另一個NC指令(lìng)(例如,G01X100.0M98PP)時在(zài)單程序方式中,機床停止。相反,G65機床不停止。
● 用G65,改(gǎi)變局部變量的級別。用M98,不改變局部變量的級(jí)別。
G65P-L -(自變量指定);P:要調(diào)用的程序;L:重複次數;自變(biàn)量:數據傳(chuán)遞到宏程序
自變(biàn)量指(zhǐ)定Ⅰ
地址 | 變量號 | 地址 | 變量號 | 地址 | 變量號 | ||
A | #1 | I | #4 | T | #20 | ||
B | #2 | J | #5 | U | #21 | ||
C | #3 | K | #6 | V | #22 | ||
D | #7 | M | #13 | W | #23 | ||
E | #8 | Q | #17 | X | #24 | ||
F | #9 | R | #18 | Y | #25 | ||
H | #11 | S | #19 | Z | #26 | ||
地址G,L,N,O和P不能在自變量中使(shǐ)用 不需要指定的(de)地址可以省,對於省的地址的局部變量(liàng)為空 地址不需要按字母順序指(zhǐ)定(dìng)。但應符合字地址的(de)格式(shì)。I,J和K需要按字母的順序指(zhǐ)定 | |||||||
自變量指定Ⅱ
A | #1 | K3 | #12 | J7 | #23 | ||
B | #2 | I4 | #13 | K7 | #24 | ||
C | #3 | J4 | #14 | I8 | #25 | ||
I1 | #4 | K4 | #15 | J8 | #26 | ||
J1 | #5 | I5 | #16 | K8 | #27 | ||
K1 | #6 | J5 | #17 | I9 | #28 | ||
I2 | #7 | K5 | #18 | J9 | #29 | ||
J2 | #8 | I6 | #19 | K9 | #30 | ||
K2 | #9 | J6 | #20 | I10 | #31 | ||
I3 | #10 | K6 | #21 | J10 | #32 | ||
J3 | #11 | I7 | #22 | K10 | #33 |
I,J,K的下標用於確定自變量指定的(de)順序,在實際編程中不寫。
G65P-X-Y-Z-R-F-I-A-B-H-:
X:圓心的X坐標(絕對值或增量值指定(dìng))(#24)
Y:圓心的Y坐標(絕對值或增量值指定)(#25)
Z:孔深(#26);R:趨近點坐標(#18)
F:切削進給速度(#9);I:圓半徑(#4)
A:第一孔的角度(#1)
B:增量角(指定負(fù)值時(shí)為逆時(shí)針(zhēn))(#2)
H:孔數(#11)

宏程序調用程序:O0002;
G90G92X0Y0Z100.0;
G65P9100X100Y50R30Z-50F500I100A0B45H5;
M30
被(bèi)調用的宏(hóng)程序:O9100;
#3=#4003;........................... 儲存03組的G代碼
G81Z#26R#18F#9K0;........(注(zhù))鑽孔循環;注:也可以(yǐ)使用L0
IF[#3EQ90]GOTO1;..........在G90方(fāng)式轉移(yí)到N1
#24=#5001+#24;.................計算圓心的X坐標
#25=#5002+#25;.................計算圓心的Y坐標
N1WHILE[#11GT0]DO 1.....直到剩餘孔數為0
#5=#24+#4*COS[#1];..........計算X軸上的孔位
#6=#25+#4*SIN[+1];...........計算Y軸上(shàng)的孔位
G90X#5Y#6;........................移動到坐(zuò)標位置之後執行鑽(zuàn)孔
#1=#1+#2;.............................更新角度
#11=#11-1;...........................孔數-1
END 1;
G#3G80;...............................返(fǎn)回原始狀態G代(dài)碼
M99;
變量的含義:#3:儲存(cún)03組的G代碼;#5:下個孔(kǒng)的X坐標:#6:下個孔的Y坐標
摸態調用G66
G66P-L-:
P:要調用的程序;L:重複次數;自變量(liàng):數據傳(chuán)遞到宏程(chéng)序
自變(biàn)量指定Ⅰ
變量類型:
變量號 | 變量類型(xíng) | 功能 |
#0 | 空變量 | 該變量總是空(kōng),沒有值能賦給該(gāi)變量 |
#1~#33 | 局部變量 | 局部變量隻能(néng)用於宏程序中存在存儲數(shù)據量(liàng)。例如(rú),運算結果。當斷電時,局部變量被初始化為空(kōng)。調用宏程序時,自變量對局不變量賦值 |
#100~#199;#500~#999 | 公共變量 | 公共變量在不同宏程序中的意義相同。當斷電時(shí),變量(liàng)#100—#199初始化為空;當(dāng)斷電時,變量(liàng)#500—#999的數據保存,即使斷電也不丟(diū)失 |
#1000— | 係統變量 | 係統變量用於讀和寫CNC的各種數據(jù),例如,刀具的當(dāng)前位置和補償值 |
局部變量和(hé)公共變量可以為0值或下(xià)麵範圍中的值:-1047到(dào)-10-29或(huò)10-29到1047
宏程序報警的係統變量:
變量號 | 功能 |
#3000 | 當變量#3000的值為0~200時,CNC停止運行且報警。 可在表達式後指定不超過26個字符的報警信息。 LCD屏幕上顯示報警號和報警信息,其中(zhōng)報警號為變量#3000的值加上3000 |
接口信號(hào)的係統變(biàn)量:
(參數(shù)N0.6001#0(MIF)=0時)
變量號(hào) | 功能 |
#1000—#1015#1032 | 把16位(wèi)信號從PMC送到用戶宏程序,變量#1000到#1035用於按位(wèi)讀取信號,變量#1032,用於一次(cì)讀取16位(wèi)信號 |
#1100—#1115#1132 | 把32位信號從用戶宏程序送到(dào)PMC。變量#1100到#1135用於按位寫信號。變量#1032用於(yú)一(yī)次讀取16位信號 |
#1133 | 變量#1133用於從用戶宏(hóng)程序一次(cì)寫一個32位信號到PMC。注意,#1133的值為-99999999到+99999999 |
(參數N0.6001#0(MIF)=1時)
變量號 | 功能 |
#1000~#1301 | 把32位信號從PMC送到用戶宏程序,變量#1000到#1031用於按位讀取信號 |
#1100—#1131 | 把32位信號從用戶宏程序送到(dào)PMC。變量#1100到#1131用於按位寫信(xìn)號 |
#1032—#1035 | 把32位信號(hào)從PMC統一輸出到用戶宏程序的(de)變量(liàng)。隻能(néng)在-99999999~+99999999的範圍(wéi)內輸入 |
#1132—#1135 | 把(bǎ)32位信號統一(yī)寫入到用戶(hù)宏程序(xù)的變量。隻能在-99999999~+99999999的範圍內指定 |
自動運(yùn)行控製(#3003)
#3003 | 單程序段(duàn) | 輔助功能的完成 |
0 | 有效 | 等待 |
1 | 無效 | 等(děng)待 |
2 | 有效 | 不等(děng)待 |
3 | 無效 | 不等待 |
當電源(yuán)接通時,該變量的值為0。當單程序段停止無效時,即使單(dān)程(chéng)序段(duàn)開關(guān)設為ON,也不執行程序段停止(zhǐ)。當指定不等待輔助功能(M,S和T功能)完成時,在輔助功能完成之前,程序即執行到下一程(chéng)序段。而且分配完成信號DEN不輸出。

位置信息係(xì)統變量
變量號 | 位置信息 | 坐標係 | 刀具補償值 | 運行時的讀操(cāo)作 |
#5001—#5003 | 程序段終止 | 工件坐標係 | 不包(bāo)含 | 可能 |
#5021—#5023 | 當前位置 | 機床坐標係 | 包含 | 不可能 |
#5041—#5043 | 當前位置 | 工件坐標(biāo)係 | ||
#5061—#5063 | 跳轉信息位置 | 可(kě)能 | ||
#5081—#5083 | 刀具長(zhǎng)度補償值 | 不可能 | ||
#5101—#5103 | 伺服位置誤差 |
第(dì)1位代(dài)表軸號(1~3);
變量#5081~#5083存儲的刀具長度補償值是(shì)當前的執行值,不是後麵程序的處理值;
在G31(跳轉功能)程序段中跳(tiào)轉信號接通時的刀具位置儲存在變量#5061到#5064中。當G31程序段中的跳轉信號未接通時,這(zhè)些變量中(zhōng)儲存指定程序段的終點值。
移動期間不能讀是指由於緩衝(預讀)功能的原因,不能讀取期望值。
G65P9110X-Y-Z-R-F-L-;
X:圓心的X坐(zuò)標(絕對值指定)(#24)
Y:圓心的Y坐標(絕對值指定)(#25)
Z:孔深(#26)(絕對值指定);
R:趨近點坐標(絕對值指定)(#18)
F:切(qiē)削進給(gěi)速度(#9);
L:重複(fù)次數
使用係統變量時的注意事項
含義 | 讀寫 | 變量號 | 注(未指(zhǐ)定禁止緩衝的M代碼或G53程序段時) |
接口信號 | 讀 | #100—#1015#1032 | 宏語句讀入緩衝後(hòu)讀入數據 |
寫 | #1100—#1115#1132 | 宏語句讀入(rù)緩(huǎn)衝(chōng)後寫入數據 | |
刀具補償值 | 寫 | #10001- | 宏語句讀入緩(huǎn)衝後寫入數據(jù) |
寫 | #3000 | 在宏語句前最多兩個程序段(duàn)處產生報警 | |
送出(chū)信息的同時(shí)程序停止 | 寫 | #3006 | 在宏語句前最(zuì)多(duō)兩個程序段處產生停止(zhǐ) |
讀寫(xiě) | #3001,#3002 | 宏語句讀入緩衝後讀寫(xiě)入數(shù)據 | |
讀 | #3011,#3012 | 宏語句讀入緩衝後讀入數(shù)據 | |
自動運行控製 | 寫 | #3003,#3004 | 在宏語句前最多兩個程序段處設定數據 |
設定 | 寫 | #3005 | 宏語句讀入緩衝後寫入數(shù)據 |
讀 | #3007 | 宏語句讀入緩衝後讀入數據 | |
當前選擇追加工件坐標係 | 讀(dú) | #4130(P)#4014(G54-G59) | 在宏語句前最多三個程序段處讀(dú)入數據 |
當前位置(機床坐標係 | 讀 | #5021-#5023 | 讀入移動中的(de)不確定位置 |
當前位置(工件坐標係) | 讀 | #5021-#5023 | 讀入移動中的不確定位置(zhì) |
刀長偏置 | 讀 | #5021-#5023 | 讀入當前程序段(duàn)的偏(piān)置量 |
位置(zhì)偏差 | 讀(dú) | #5021-#5023 | 讀入移動中的不正確偏差(chà) |
工件零點偏置值(zhí) | 寫 | #5021-#5023#5021-#5023 | 宏語句讀(dú)入(rù)緩衝後寫入數據 |
大型龍門(mén)加(jiā)工中心係列 在線谘(zī)詢
設備定製 | 設備報價 | 購買谘詢 | 售後(hòu)谘詢Copyright © 2018-2021 版(bǎn)權所有:昆山台功精密機械有限(xiàn)公司 備案號:蘇ICP備20025778號-1