1:當(dāng)同一把刀,加工多個地方,而程序比較長,為方便現(xiàn)場方便調(diào)機,應(yīng)選擇性,輸出強制換刀。
2;新建嵌入式宏程序Forced_knife_change
lvi ir3, new_dim_of_cycle
sri ir1, 2
cmpi ir3, ir1
jne out_TC
;----------------判斷當(dāng)前工單是否為2D工單(2為2D工單/3為3D工單/5為多軸工單),若是繼續(xù)執(zhí)行下一個判斷,否則直接跳轉(zhuǎn)到輸出
srs sr1, CYCLETYPE
sri ir2, 0
call jld_find_string ;從當(dāng)前POF文件中,尋找CYCLETYPE的變量值,獲取到的值,寄存在sr2里面
srs sr1, "DmdX5"
cmps sr2, sr1
je out_TC
;------------------繼續(xù)判斷,這個2D工單是否是螺旋鉆工單,若是,則跳轉(zhuǎn)到輸出,否則繼續(xù)執(zhí)行下一個判斷
lvi ir3, new_type_of_cycle 當(dāng)螺旋鉆開啟精加工時:new_type_of_cycle為零
sri ir2, 1 當(dāng)螺旋鉆關(guān)閉精加工時:new_type_of_cycle為1
cmpi ir3, ir2 介于這個地方比較狗血,所以提前將螺旋鉆工單的去處安排好。
je not_TC
;------------------繼續(xù)判斷這個工單是否為鉆孔工單(0為銑削工單/1為鉆孔工單/2為銑螺紋工單),若是跳轉(zhuǎn)到竭束,不輸出換刀,否則繼續(xù)執(zhí)行
lbl out_TC
lvi ir3, Tchange
jz not_TC
;-----------------判斷當(dāng)前是否是手動換刀模式,若是則跳轉(zhuǎn)到竭束
lvi ir3, first_move
jz not_TC
;------------------判斷當(dāng)前是否是首次移動,若是則繼續(xù),不是跳轉(zhuǎn)到竭束
srs sr1, "P4"
sri ir2, 0
call jld_find_string ;call jld_find_string/獲取字符串值。寄存在sr2/ call jld_find_ float/獲取浮點數(shù)值。寄存在fr1
mov fr1, sr2 ;call jld_find_int/獲取整型數(shù)值。寄存在ir3
jz not_TC
;-------------------判斷自由參數(shù)是否有值,有值繼續(xù)執(zhí)行,沒有值,則跳轉(zhuǎn)到竭束
exec Tchange ;調(diào)用換刀程序段,內(nèi)置了Output_before_tool_change宏程序
exec singleTCAutomatic ;調(diào)用單次換刀模塊
lbl not_TC
本宏程序在程序段里面的主軸轉(zhuǎn)速模塊被調(diào)用,
強制換刀的出,不適用鉆孔工單,有bug易出錯。。。
承擔(dān)因您的行為而導(dǎo)致的法律責(zé)任,
本站有權(quán)保留或刪除有爭議評論。
參與本評論即表明您已經(jīng)閱讀并接受
上述條款。