1. 程式人生 > >倍福NC 程式碼介紹

倍福NC 程式碼介紹

倍福CNC 程式碼儲存為一個以.NC 為字尾的檔案,儲存G 程式碼檔案時需要儲存為這個格式。 單段NC 程式包括:段號、功能識別字符以及數值或數值表示式等。 

G 功能標示符

NC 程式碼中的G 功能,用來規定機床與工件的相對運動軌跡、機床座標系、座標平面、刀具半徑補償、座標偏置等,這些功能大致用於路徑規劃功能以及特殊的測量、補償功能等,G 指令由字母 G 和後面的數字組成,常見系統包括兩個數字,倍福系統提供了一些特殊功能最多包含了 3 個數字,以實現更加靈活的功能控制;

M指令輔助功能

輔助功能主要是控制機床或數控系統的開關功能,如開關冷卻液機床外部訊號功能,主軸正轉、反轉、停止、定位以及程式暫停、停止等系統功能。倍福CNC系統最大支援65535個M函式,根據版本不同,TwinCAT CNC目前支援M0-999函式,每個M函式可以根據具體使用賦予不同的屬性,以滿足實際需求。同時輔助功能H函式最大支援65535個,目前的版本CNC中支援H0-H999。

F、S、T功能指令
1)F指令
F指令是指系統給定進給速度指令,通常直接給定速度值,如F1000,即速度為1000mm/min;
2)S指令
S指令是指主軸轉速指令,直接給定速度值,不同於F指令的是,S指令速度值為轉/分,如S1000,即為主軸轉速為1000轉/分,搭配M函式執行M03\M04\M05M19等;
3)T、D指令
T指令是用於指定加工刀具號,用於具有刀具的加工機床,通常搭配D指令執行。實現相應刀具的切換。
其他指令
1)迴圈功能塊:

迴圈指令是指在 G 程式碼執行過程中根據實際要求進行迴圈執行的指令,迴圈指令減少了大量的重複執行程式碼,實現正常的指令無法做到的無限條件迴圈等功能。倍福的迴圈指令非常豐富,如下: 

條件跳轉:$IF, $ELSEIF, $ELSE, $ENDIF, 
$SWITCH, $CASE, $DEFAULT, $ENDSWITCH, $BREAK 累加迴圈:$FOR, $ENDFOR, $CONTINUE, $BREAK 
執行條件迴圈:$WHILE, $ENDWHILE, $CONTINUE, $BREAK 無執行條件迴圈:$DO, $ENDDO, $CONTINUE, $BREAK 

同NC檔案跳轉:$GOTO 

2)數學表示式

數學表示式在G程式碼中,可以用於條件判斷也可以用於軸位置的內部計算,可用的數學公式如下: 

標準算術操作:+ , - , * , / , ** , MOD 

數學表示式:ABS,SQR,SQRT,EXP,LN,DEXP,LOG 角度表示式:SIN,COS,TAN,ASIN,ACOS,ATAN 單位換算:INT,FRACT,ROUND 

數學表示式:

數學符號、數字、功能引數、變數等都可以在表示式中體現,示例如下:[[sin["MAX_ANZ" * 30.00] + P2] / V.G.SATZ_NR]

3)變數定義,

NC 程式碼中可以定義本地變數、全域性變數等變數型別,幷包括系統內部變數與外部變數。

系統內部變數主要針對軸變數V.A.NAME 以及通道變數V.G.NAME,通過 V.A.NAMAE,V.G.NAME 訪問CNC 內部的資料諸如,各軸位置、測量資料、刀具資料、偏置等; 

本地變數與全域性變數V.L.name、V.S.name、V.P.name 用於系統變數宣告便於G 程式碼邏輯運算; 外部變數V.E.NAME 可以直接通過PLC 程式實時讀取和寫入,執行相應的系統功能; 

4)CNC 內部變數,特殊功能符
條件忽略行‘/’,在 CNC 控制中執行“跳行”功能,可以選擇執行使用該功能的註釋行。
5)段號N 值:

該值用於指示當前行號,系統可以從HLI 中讀出當前系統行號並進行操作。在NC 程式碼檔案中,可以按照需要不使用、部分使用、每行程式碼都是用的方式。


6)註釋內容

註釋符號:“(”

註釋內容幾乎可以插入一個 NC 程式的任一位置,包括程式頭。註釋內容不影響 NC 執行。如果在程式段結尾單獨註釋可以只使用“(”,在程式行中間註釋需要在結尾加註“)”。另一種方法使用 “;”,這種方式總是放在本行結束位置。允許巢狀註釋。

% 100 (Comment in complete brackets) N200 ... (Comment only with open bracket N300 (Comment (Nested comment)) N500 X10 (Comment within a block) Y20 N700 ... ;Comment behind semicolon N999 M30