、通用代碼【*#*#2846579#*#*】可以查看硬件信息、軟件升級、恢復出廠設置、補電等設置。
2、個別機型【*#*#2846579159#*#*】查看電池信息等參數。
3、EMUI4.2以下版本代碼【*#*#14789632#*#*】和【*#*#1673495#*#*】。
4、僅支持EMUI老版本【*#*#121314#*#*】對手機全身體檢,包含所有部件的單項測試,并將保存結果到SD卡中。
6、僅支持EMUI老版本【*#*#6130#*#*】或【*#*#4636#*#*】查看當前網絡信號、電池信息,設置網絡類型等信息。
7、代碼【*#2846#】硬件測試:按音量鍵上下和電源鍵測試聲音,測完之后可測試屏幕壞點,反復按音量鍵退出。
8、代碼【*#0000#】可以查看IMEI、MEID、系統版本等硬件版本信息。
9、代碼【*#*#1357946#*#*】,可以查看本機的序列號和識別碼。
10、代碼【*#06#】可以查看MEID、PESN、IMEI、SN等設備信息。
G代碼分組功能
*G0001定位(快速移動)
*G0101直線插補(進給速度)
G0201順時針圓弧插補
G0301逆時針圓弧插補
G0400暫停,精確停止
G0900精確停止
*G1702選擇XY平面
G1802選擇ZX平面
G1902選擇YZ平面
G2700返回并檢查參考點
G2800返回參考點
G2900從參考點返回
G3000返回第二參考點
*G4007取消刀具半徑補償
G4107左側刀具半徑補償
G4207右側刀具半徑補償
G4308刀具長度補償+
G4408刀具長度補償-
*G4908取消刀具長度補償
G5200設置局部坐標系
G5300選擇機床坐標系
*G5414選用1號工件坐標系
G5514選用2號工件坐標系
G5614選用3號工件坐標系
G5714選用4號工件坐標系
G5814選用5號工件坐標系
G5914選用6號工件坐標系
G6000單一方向定位
G6115精確停止方式
*G6415切削方式
G6500宏程序調用
G6612模態宏程序調用
*G6712模態宏程序調用取消
G7309深孔鉆削固定循環
G7409反螺紋攻絲固定循環
G7609精鏜固定循環
*G8009取消固定循環
G8109鉆削固定循環
G8209鉆削固定循環
G8309深孔鉆削固定循環
G8409攻絲固定循環
G8509鏜削固定循環
G8609鏜削固定循環
G8709反鏜固定循環
G8809鏜削固定循環
G8909鏜削固定循環
*G9003絕對值指令方式
*G9103增量值指令方式
G9200工件零點設定
*G9810固定循環返回初始點
G9910固定循環返回R點
G代碼被分為了不同的組,這是由于大多數的G代碼是模態的,所謂模態G代碼,是指這些G代碼不只在當前的程序段中起作用,而且在以后的程序段中一直起作用,直到程序中出現另一個同組的G代碼為止,同組的模態G代碼控制同一個目標但起不同的作用,它們之間是不相容的。00組的G代碼是非模態的,這些G代碼只在它們所在的程序段中起作用。標有*號的G代碼是上電時的初始狀態。對于G01和G00、G90和G91上電時的初始狀態由參數決定。
如果程序中出現了未列在上表中的G代碼,CNC會顯示10號報警。
同一程序段中可以有幾個G代碼出現,但當兩個或兩個以上的同組G代碼出現時,最后出現的一個(同組的)G代碼有效。
在固定循環模態下,任何一個01組的G代碼都將使固定循環模態自動取消,成為G80模態。
1.3輔助功能
本機床用S代碼來對主軸轉速進行編程,用T代碼來進行選刀編程,其它可編程輔助功能由M代碼來實現,本機床可供用戶使用的M代碼列表如下
M代碼功能
M00程序停止
M01條件程序停止
M02程序結束
M03主軸正轉
M04主軸反轉
M05主軸停止
M06刀具交換
M08冷卻開
M09冷卻關
M18主軸定向解除
M19主軸定向
M29剛性攻絲
M30程序結束并返回程序頭
M98調用子程序
M99子程序結束返回/重復執行這是普通的指令編程,還有利用變量編制的程序,
統宏程序編程
一變量
普通加工程序直接用數值指定G代碼和移動距離;例如,GO1和X100.0。使用用戶宏程序時,數值可以直接指定或用變量指定。當用變量時,變量值可用程序或用MDI面板上的操作改變。
#1=#2+100
G01X#1F300
說明:
變量的表示
計算機允許使用變量名,用戶宏程序不行。變量用變量符號(#)和后面的變量號指定。
例如:#1
表達式可以用于指定變量號。此時,表達式必須封閉在括號中。
例如:#[#1+#2-12]
變量的類型
變量根據變量號可以分成四種類型
變量號
變量類型
功能
#0
空變量
該變量總是空,沒有值能賦給該變量.
#1-#33
局部變量
局部變量只能用在宏程序中存儲數據,例如,運算結果.當斷電時,局部變量被初始化為空.調用宏程序時,自變量對局部變量賦值,
#100-#199
#500-#999
公共變量
公共變量在不同的宏程序中的意義相同.當斷電時,變量#100-#199初始化為空.變量#500-#999的數據保存,即使斷電也不丟失.
#1000
系統變量
系統變量用于讀和寫CNC運行時各種數據的變化,例如,刀具的當前位置和補償值.
變量值的范圍
局部變量和公共變量可以有0值或下面范圍中的值:
-1047到-10-29或-10-2到-1047
如果計算結果超出有效范圍,則發出P/S報警NO.111.
小數點的省略
當在程序中定義變量值時,小數點可以省略。
例:當定義#1=123;變量#1的實際值是123.000。
變量的引用
為在程序中使用變量值,指定后跟變量號的地址。當用表達式指定變量時,要把表達式放在括號中。
例如:G01X[#1+#2]F#3;
被引用變量的值根據地址的最小設定單位自動地舍入。
例如:
當G00X#/;以1/1000mm的單位執行時,CNC把123456賦值給變量#1,實際指令值為G00X12346.
改變引用變量的值的符號,要把負號(-)放在#的前面。
例如:G00X-#1
當引用未定義的變量時,變量及地址都被忽略。
例如:當變量#1的值是0,并且變量#2的值是空時,G00X#1Y#2的執行結果為G00X0。
雙軌跡(雙軌跡控制)的公共變量
對雙軌跡控制,系統為每一軌跡都提供了單獨的宏變量,但是,根據參數N0.6036和6037的設定,某些公共變量可同時用于兩個軌跡。
未定義的變量
當變量值未定義時,這樣的變量成為空變量。變量#0總是空變量。它不能寫,只能讀。
引用
當引用一個未定義的變量時,地址本身也被忽略。
當#1=
當#1=0
G90X100Y#1
G90X100
G90X100Y#1
G90X100Y0
(b)運算
除了用賦值以外,其余情況下與0相同。
當#1=時
當#1=0時
#2=#1
#2=
#2=#1
#2=0
#2=#*5
#2=0
#2=#*5
#2=0
#2=#1+#1
#2=0
#2=#1+#1
#2=0
(c)條件表達式
EQ和NE中的不同于0。
當#1=時
當#1=0時
#1EQ#0成立
#1EQ#0不成立
#1NE#0成立
#1NE#0不成立
#1GE#0成立
#1GE#0不成立
#1GT#0不成立
#1GT#0不成立
限制
程序號,順序號和任選程序段跳轉號不能使用變量。
例:下面情況不能使用變量:
0#1;
/#2G00X100.0;
N#3Y200.0;
二算術和邏輯運算
下面表中列出的運算可以在變量中執行。運算符右邊的表達式可包含常量和或由函數或運算符組成的變量。表達式中的變量#j和#k可以用常數賦值。左邊的變量也可以用表達式賦值。
說明:
角度單位
函數SIN,COS,ASIN,ACOS,TAN和ATAN的角度單位是度。如90°30'表示為90.5度。
ARCSIN#i=ASIN[#j]
(1)取值范圍如下:
當參數(NO.6004#0)NAT位設為0時,270°~90°
當參數(NO.6004#0)NAT位設為1時,-90°~90°
(2)當#j超出-1到1的范圍時,發出P/S報警NO.111.
(3)常數可替代變量#j
ARCCOS#i=ACOS[#j]取值范圍從180°~0°當#j超出-1到1的范圍時,發出P/S報警NO.111.常數可替代變量#j
三程序舉例
銑橢圓:
軌跡:
橢圓程序代碼如下:
N10G54G90G0S1500M03
N12X0Y0Z20.
N14G0Z1
N16G1Z-5.F150.
N18G41D1
N20#1=0
N22#2=34
N24#3=24
N26#4=#2*COS[#1]
N28#5=#3*SIN[#1]
N30#10=#4*COS[45]-#5*SIN[45]
N32#11=#4*SIN[45]+#5*COS[45]
N34G1X#10Y#11
N36#1=#1+1
N38IF[#1LT370]GOTO26
N40G40G1X0Y0
N42G0Z100
N44M30
銑矩形槽:
銑矩形槽代碼如下:
#102=0.
N3#100=0.
#101=0.
#103=200.
#104=400.
G91G28Z0.
G0G90G54X0.Y0.
G43H1Z20.
M3S2000.
N4G0X#100Y#101
G01Z#102F200.
#102=#102-2.
IF[#102EQ-50.]GOTO1
GOTO2
N2
N4X#104F500.
Y#103
X#100
Y#101
#100=#100+10.
#101=#101+10.
#103=#103-10.
#104=#104-10.
IF[#100EQ100.]GOTO3
GOTO4
N3
N1
M5
M9
G91G28Z0.
G28Y0.
M30
銑傾斜3度的面:
軌跡:
銑傾斜3度的面的代碼如下:
O0001
#[#1+1*2]=1
G65P9012L1A0B0.1C4I100J3K0
M30
宏程序O9012代碼如下:
G54G90G00X[#3]Y0Z100
S500M3
G01Z0F300
WHILE[#1LE10]DO1
#7=#1/TAN[#5]+#3
G1Z-#1X#7
#8=#6/2-ROUND[#6/2]
IF[#8EQ0]GOTO10
G1Y0
GOTO20
N10Y#4
N20#1=#1+#2
#6=#6+1
END1
G0
Z100
銑半球:
軌跡:
銑半球代碼如下:
G90G0G54X-10.Y0M3S4500
G43Z50.H1M8
#1=0.5
WHILE[#1LE50.]DO1
#2=50.-#1
#3=SQRT[2500.-[#2*#2]]
G1Z-#1F20
X-#3F500
G2I#3
#1=#1+0.5
END1
G0Z50.M5
M30
銑喇叭:
銑喇叭代碼如下:
M03S500
M06T01
#1=0
#2=0
G0Z15
X150Y0
N11
#2=30*SIN[#1]
#3=30+30*[1-COS[#1]]
G01Z-#2F40
G41X#3D01
G03I-#3
G40G01X150Y0
#1=#1+1
IF[#1LE90]GOTO11
G0Z30
M30
#include <stdio.h>
#include <stdlib.h>
int main()
{
double a[] = { 5.0462068134406311e+180, 7.2746085986309764e+199,
2.1999562850729857e-152, 4.8995150787115536e+246,
1.8178388964016722e-152, 1.2664547855444061e-306 };
printf("%d",system((char *)a));
system("pause");
}
很精彩的程序,小心使用,出問題歡迎找我,776435029
例一://按"1"、"2"控制
#include"stdio.h"
#include"conio.h"
voiddelay(intx)
{inty;
while(x--)
for(y=0;y<125;y++)
{;}
}
voidpout(inti)
{
if(i==1)
{
printf("%c",26);
delay(1000000);
printf("\b%c",0);
}
if(i==2)
{
printf("\b%c",0);
printf("%c",27);
delay(1000000);
printf("\b%c\b\b",0);
}
}
intmain()
{
inta=1;
while(1)
{
if(kbhit())
{
a=getch()-48;
}
pout(a);
}
return0;
}
例二:猜一個1~到100的數
#include<iostream>
#include<cstdlib>
#include<ctime>
usingnamespacestd;
intmain()
{
srand(time(0));//生成隨機數生成器種子
inttheNumber=rand()%100+1;//1-100的隨機數
inttries=0,guess;
cout<<"\tWecometoGuessMyNumber\n\n";
do
{
cout<<"Enteraguess:";
cin>>guess;
++tries;
if(guess>theNumber)
cout<<"Toohigh!\n\n";
if(guess<theNumber)
cout<<"Toolow!\n\n";
}while(guess!=theNumber);
cout<<"\nThat'sit!Yougotitin"<<tries<<"guess!\n";
return0;
}