1樓:墨汁諾
迴圈巨集程式舉例:
if[#100 ge #101]goto1當#100大於等於#101時跳到n1程式段執行。
if是滿足條件跳出,while是滿足條件執行,掌握一個就夠了。
#1~#33是區域性變數,區域性變數只能在巨集中使用,以保持操作的結果,關閉電源時,區域性變數被初始化成“空”。巨集呼叫時,自變數分配給區域性變數。
#100~#149(#199)和#500~#531(#999)是公共變數,公共變數可在不同的巨集程式間共享。關閉電源時變數#100~#149被初始化成“空”,而變數#500~#531保持資料。公共變數#150~#199和#532~#999可以選用,但是當這些變數被使用時,紙帶長度減少了8.5米。
2樓:匿名使用者
兄弟 別聽他們說的 巨集程式作用大著呢
另外在初學階段 是真的得什麼都用巨集程式編編看 只有這樣才能熟練的掌握他
if goto 跟while do end 的組合其實能實現的作用是一樣的
只不過while組合屬於模組化程式設計 一般計算機程式設計裡面推薦用這個方法
巨集程式的作用是抓住加工過程中重複的有規律的那一部分 進行引數化程式設計 節省因刀具 孔徑 高度等引數變化而修改程式的時間 或者為機床增加一些你需要經常用到的功能
附上我自己為廠裡一類工件所編的引數化數控程式 裡面既用if goto 也有while
主程式%
o0555
( d12 r0)
m6t3
g0g90g54x0.y90m3s2200
g43h3z100.f1800m09
g65p1234a37.3b14.c1.d12.r3.h0.5q0.5z-7.x0.y0.
g65p1234a23.b14.c3.d12.r3.h0.5q0.5z-7.x-21.5y38.5
g52x100.
g65p1234a37.3b14.c1.d12.r3.h0.5q0.5z-7.x0.y0.
g65p1234a23.b14.c3.d12.r3.h0.5q0.5z-7.x-21.5y38.5
g52x200.
g65p1234a37.3b14.c1.d12.r3.h0.5q0.5z-7.x0.y0.
g65p1234a23.b14.c3.d12.r3.h0.5q0.5z-7.x-21.5y38.5
g52x0.
m5 m9
g91g28z0.
m01( d10 r0)
m6t5
g0g90g54x0.y90m3s2200
g43h5z100.f500m09
g65p1234a37.3b14.2c2.d10.r3.z-7.x0.y0.
g65p1234a23.b14.2c4.d10.r3.z-7.x-21.5y38.5
g52x100.
g65p1234a37.3b14.2c2.d10.r3.z-7.x0.y0.
g65p1234a23.b14.2c4.d10.r3.z-7.x-21.5y38.5
g52x200.
g65p1234a37.3b14.2c2.d10.r3.z-7.x0.y0.
g65p1234a23.b14.2c4.d10.r3.z-7.x-21.5y38.5
m5 m9
g52x0.
g91g28z0.
g91g28y0.
g0g90x80.
m30%
子程式%
o1234
(---------)
if[#1le0.]goto5
if[#2le0.]goto5
if[#7ge#2]goto5
if[#18eq#0]goto5
if[#800ge500.]then#800=500.
if[#11eq#0]then#11=#18
if[#11gt#18]then#11=#18
if[#26gt#11]then#26=#11
#17=abs[#17]
#5=#4109
#6=#5003
#8=[#2-#7]/2
(---------)
if[#3eq1.]goto1
if[#3eq2.]goto3
if[#3eq3.]goto2
if[#3eq4.]goto4
goto5
n1g0g90x#24y#25
z#18
#9=#11
while[#9ge#26]do1
g01z#9f#800
y[#25-#8]
x[#24+#1/2]f#5
g03y[#25+#8]r#8f[#5*0.7]
g01x[#24-#1/2]f#5
g03y[#25-#8]r#8f[#5*0.7]
g01x#24f#5
y#25
/z[#9+0.5]
#9=#9-#17
end1
g0z#6
f#5m99
n2g0g90x#24y#25
z#18
#9=#11
while[#9ge#26]do2
g01z#9f#800
x[#24-#8]
y[#25-#1/2]f#5
g03x[#24+#8]r#8f[#5*0.7]
g01y[#25+#1/2]f#5
g03x[#24-#8]r#8f[#5*0.7]
g01y#25f#5
x#24
/z[#9+0.5]
#9=#9-#17
end2
g0z#6
f#5m99
n3g0g90x[#24-#1/2]y#25
z#18
g01z#26f#800
y[#25-#8]
x[#24+#1/2]f#5
g03y[#25+#8]r#8f[#5*0.7]
g01x[#24-#1/2]f#5
g03y[#25-#8]r#8f[#5*0.7]
g01y#25
g0z#6
f#5m99
n4g0g90x#24y[#25+#1/2]
z#18
g01z#26f#800
x[#24-#8]
y[#25-#1/2]f#5
g03x[#24+#8]r#8f[#5*0.7]
g01y[#25+#1/2]f#5
g03x[#24-#8]r#8f[#5*0.7]
g01x#24
g0z#6
f#5m99
n5#3000=1( error)%
3樓:匿名使用者
舉個簡單例子:100直徑圓周9孔均布。初始角20°,孔均布角40°。
使用迴圈語句while
o1000
g00g90g54x0.y0.
z50.m03s800
#1=20 初始角#2=9 孔數
#3=50 圓周半徑#4=0 孔加工計數器while[#4lt#2]do 1 加工的孔數小於9則繼續加工,否則跳出迴圈。
#5=#1+#4*40 加工孔的角度#6=#3*cos[#5] 加工孔的x值#7=#3*sin[#5] 加工孔的y值g81x#6y#7z-5.r5.f200 加工孔#4=#4+1 計算加工孔數end 1 迴圈體末g80g00z50m05
g91g28z0
m30使用條件轉移語句if[ ] goton
o2000
g00g90g54x0.y0.
z50.m03s800
#1=20 初始角#2=9 孔數
#3=50 圓周半徑#4=1 孔加工計數器n100 #5=#1+#4*40 加工孔的角度#6=#3*cos[#5] 加工孔的x值#7=#3*sin[#5] 加工孔的y值g81x#6y#7z-5.r5.f200
#4=#4+1
if[#4lt#2]goto 100 加工的孔數小於9轉向n100段,否則向下段
g80g00z50m05
g91g28z0
m30給你用了2種迴圈方法,儘量用迴圈語句,系統處理的快。
沿圓周均布的孔加工都可參考,20等分50等分...都行。
20年前我用的是fanuc 6系統,沒有極座標程式設計,經常使用。
有問題經常交流啊!!!
4樓:金慕
其實原理很簡單,巨集程式就是把你的一串g**打包而已,然後可以直接輸入巨集程式名來呼叫。鑽孔的話,它的動作過程是,1.先以g00移動到所指定之(x, y)點2.
以g00下降至所設定的中間點r點。3.以g01下降至相對於目前所鑽深度一個切削量q的深度4.
以g00向上升到工件表面 r點。5. 以g00下降至相對於目前所鑽深度上方一個退刀量 d的深度(引數4002設定)6.
再以g01向下降到相對於目前所鑽深度一個切削量q的深度7. 以g00向上升到工件表面 r點。8.
重複上述的鑽孔動作直到到達洞底z點9. 以g00向上升到初始點(g98)或程式r點(g99)
巨集程式就是把這麼一段過程打包,然後可以直接用一個g碼來呼叫了。不過正正寫的過程中就不會這麼簡單,要考慮很多東西。
希望對你有用,我也是剛學數控不久。
5樓:wu佳蓉
在初學階段 是真的得什麼都用巨集程式編編看 只有這樣才能熟練的掌握他if goto 跟while do end 的組合其實能實現的作用是一樣的
只不過while組合屬於模組化程式設計 一般計算機程式設計裡面推薦用這個方法巨集程式的作用是抓住加工過程中重複的有規律的那一部分 進行引數化程式設計 節省因刀具 孔徑 高度等引數變化而修改程式的時間 或者為機床增加一些你需要經常用到的功能
6樓:
暈了 !幹個數控鑽也要學巨集程式?!神啊數控銑加工中心數控鑽學那個沒用!簡單的手編一下複雜的直接cad學個巨集程式毛用?數控車介意學一下
7樓:匿名使用者
老兄。數控的目的就是把複雜變簡單,而你卻把簡單變複雜,至於你說的想挖掘這方面的財富,個人認為 沒有任何財富可言 把簡單複雜化 是沒有任何意義的。於數控行業的初衷背道而馳 當然你是為了個人興趣,也是可以的 我也不會這個,你要是研究會了 還想向你請教下 呵呵
數控車床裡巨集程式程式設計if後面 if[-0.0125le#1ge0.0125]goto100 這個程式段存在問題嗎 求高手解釋
8樓:匿名使用者
有問題,格式錯誤,你可能想表達當#1在某個範圍內執行100程式。
9樓:匿名使用者
這裡面的數看似很矛盾,從來沒有見這樣用過,不知道你的是什麼系統???
字面解釋是:如果-0.0125小於等於變數號#1裡的值,變數號#1裡的值大於等於0.0125時跳到n100段程式
數控加工中心報警是怎麼樣解除,數控加工中心報警,也麼解決!!
數控加工中心報警 假如現在主軸上是1號刀,我在mdi方式下或程式裡連續出現兩次以上的t1m6,就會報警。報警內容為 new t code at spindle 所選刀具與主軸相同 機床是北京的工研精機臥加。該怎樣解除?假如某程式只用一把刀,程式開始時要寫入t1m6 假設這把刀是1號 然後執行第一遍,...
數控技術加工中心z軸超程撞上硬限位怎麼辦 手動和手輪不動了
告訴你個絕招 關機或者急停狀態,把z軸防護罩開啟,用手轉動z軸絲槓,只要不是很大型的機床或者是並聯軸都可以轉的動,轉個幾圈脫開限位開關就行了。有個按鍵叫 超程釋放 你按著它 再手動移動就可以了 機械裝置進場 檢驗什麼資料 1 機容機貌 外觀整潔,油漆顏色較新 七成新 外殼 護罩無明顯變形,開關 手柄...
FANUC系統加工中心,怎麼分中對刀。用直徑10mm銑刀對刀。具體步驟,按什麼按鈕,先後順序,一步步說明清楚
首先按位置鍵 pos 後把刀搖到工件一側x或y刀與工件接觸,按清零,把刀抬起搖到另一方向刀與工件接觸,用現在的座標數除二,是多少就把刀抬起搖到那位置.按偏置鍵 ofs set 按x或y清零即可對好x或y.要說那麼清楚,需要打多少字哦,況且這還是最基本的,等等看吧,相信有有耐心的人來為你解答 尋邊器 ...