直播推薦
企業(yè)動態(tài)
- SNEC 2025大秦數(shù)能兩類新品連發(fā),以“智慧儲能”助推能源轉(zhuǎn)型
- 藍芯科技即將亮相泰國NEPCON Thailand 2025
- 漢達森攜手瑞典AQ邀您共聚CPHI China 2025
- 歐姆龍亮相SNEC 2025:助推新能源產(chǎn)業(yè)加速升級,為零碳未來蓄能
- 東莞市皓天試驗設(shè)備有限公司召開線上技術(shù)會議 凝聚智慧共促技術(shù)升級
- 天津市投資促進局、天津市建設(shè)銀行一行到訪國聯(lián)股份肥多多
- 山西省長治市屯留區(qū)區(qū)委書記牛海江一行到訪國聯(lián)股份肥多多
- 華為F5G-A萬兆全光園區(qū)方案用網(wǎng)速保障徐工動力的產(chǎn)速
推薦展會
以下控制以DMC1000控制卡為例)
一、功能和工藝要求
1.能處理標準CNC代碼
2.加工精度為0.01至0.001毫米
3.加工控制能中斷,并可從中斷繼續(xù)加工,或加工。可以模擬加工。
4.設(shè)定工作原點,控制高速主軸馬達,可手動調(diào)試設(shè)備
5.具有手動或自動對刀工藝
6.有不同刀具,則需要提示換刀處理
二、系統(tǒng)流程
三、使用函數(shù)
手動調(diào)試需要完成的功能:輸入輸出測試,手動驅(qū)動脈沖,檢測運行狀態(tài),停止動作,找機械原點:
對應(yīng)的函數(shù)調(diào)為:
d1000_out_bit 數(shù)字輸出函數(shù),可以控制高速馬達的開啟或關(guān)閉
d1000_get_in_bit 讀輸入口狀態(tài)
d1000_start_tr_move 手動發(fā)脈沖,可使用單軸點位運行
d1000_check_done 檢測運動狀態(tài)函數(shù)
d1000_decel_stop 停止脈沖輸出(減速停較好)
d1000_home_move 單軸找原點函數(shù)
d1000_home_move_all 多軸找原點函數(shù)
d1000_board_init 控制卡初始化
d1000_board_close 控制卡釋放
位置顯示及清除需要的函數(shù):
d1000_get_abs_position 取得位置
d1000_set_position 設(shè)定位置函數(shù),當值為0時位置清除
加工控制需要的函數(shù):
d1000_start_ta_line2 兩軸插補函數(shù)
d1000_set_vector_profile 設(shè)定矢量插補速度
d1000_change_speed 速度改變速度
d1000_start_ta_line_all 多軸插補函數(shù)
四、核心部分的編程
控制部分編程相對其它加工工藝較為簡單,大致只要真實地按CNC代碼行加工即可。通用需要一數(shù)據(jù)結(jié)構(gòu)記錄其信息。
數(shù)據(jù)結(jié)構(gòu)大致可用兩種方式處理,各有優(yōu)缺點:
一種以指令為中心處理方式,此種方式分析代碼速度較快,加工起來需要較多分支:
class Ccommand
{
public:
Ccomand();
~Ccomand();
char chCommand; //指令碼‘G’,‘M’,‘X’
double fValue; //指令值
unsigned char nAttrib; //屬性,是否行首、行中或行尾
};
從以上結(jié)構(gòu)可以看出,在加工過程中,需要有較多分支:
for( int I(0); I
{
const Ccommand &cmd = dataArray[I];
if( cmd.nAttrib != LINE_HEAD ){//若不為
I++;
Continue;
}
switch( cmd.chCommand ){
case ‘G’:
switch( int(cmd.fValue) ){
case 0:
break;
…
case ‘M’:
break;
…
}
}
在實際編程當中,需要考慮較多因素,以上編程的應(yīng)用將會較為麻煩;故可以考慮用以下方法:
class CdataPoint
{
CdataPoint();
~CdataPoint();
double x,y,z; //記錄一個位置點
… //其它
}
此結(jié)構(gòu)適用于簡單的圖形加工處理,對于其它M,F(xiàn),S,T指令需要另外處理,視用戶雕刻機的適用范圍而言,且文件不宜太大,若要全方向考慮各種指令,及文件尺寸的兼容性。采用文件的實時分析加工是較好的策略。但要注意文件讀取帶來的額外開。若為DOS系統(tǒng)可加載Himem.sys的管理程序smartdrv.exe。文件讀取可采用一行讀至內(nèi)存緩沖,然后從內(nèi)存中分析,此方法便于文件位置的處理,大致可以寫成偽代碼如下:
FILE fp = fopen(“*.cnc”,”rt”);
Char lineBuffer[0x80];
Char *pStr=NULL;
Char command=NULL;
Double value(0.0);
Long nFilePosition;
//從斷點開始加工(若需從頭開始,則只需要置m_nBreakFileOff為0即可
fseek( fp, m_nBreakFileOff, SEEK_SET );
While( !feof(fp) && m_nWorkStatus != NORUN ){
NFilePosition = fl( fp );a
If( fgets( lineBuffer,0x80, fp) == 0 ) break;
PStr = lineBuffer;
//開始分析一行并加工處理
While( *pStr && m_nWorkStatus != NORUN ){
Command = *pStr ++;
If( ReadValue(pStr, value) == -1 ) continue;//ReadValue函數(shù)為自編的讀取有效數(shù)據(jù)的函數(shù)
Switch( command ){
Case ‘G’:
G_Command = int(value);
Switch( g_Command ){
Case 71: fUnit = 1.0; break;//公制
Case 70: fUnit = 25.4; break;//英寸
Case 90: abs = true; break;//
Case 91: abs=false; break;//相對
Break;
Case ‘M’:
M_Command=int(vlaue);
Break;
Case ‘X’: fX = value; break;
Case ‘Y’: fY = value; break;
Case ‘Z’: fZ = value; break;
Case ‘I’: fI = value; break;
Case ‘J’: fY = value; break;
…
Case ‘\n’: //一行結(jié)束(此處可單寫一些可調(diào)用的函數(shù),以便程序閱讀)
{
switch( g_Command ){
case 0://快速達到
case 1://插補處理
case 2://順弧處理
case 3://逆弧處理
break;
}
} break;
}// end switch command
}// end while
}// end feof(fp)
if( m_nWorkStatus != NORUN )//加工正常結(jié)束
m_nBreakFileOff = 0;
else m_nBreakFileOff = nFilePosition;
m_nWorkStatus = NORUN;
fclose(fp);
以上的文件處理方式,其大小與內(nèi)存無關(guān),只要求程序員寫出流程較好的程序,寫出分析及讀取速度較快的函數(shù),即ReadValue函數(shù)(請不要小瞧此函數(shù)的效率,若有參考需要,可致電索取)。
五、注意事項
1.注意換刀操作和自動/手動對刀的必要性
2.加工控制時,需要考慮斷刀加工,暫停/繼續(xù)的處理
3.加工控制時,需要考慮速度的調(diào)節(jié)
4.加工控制,需要考慮圖形顯示帶來的額外計算負擔
免責聲明
- 凡本網(wǎng)注明"來源:智能制造網(wǎng)"的所有作品,版權(quán)均屬于智能制造網(wǎng),轉(zhuǎn)載請必須注明智能制造網(wǎng),http://www.xashilian.com。違反者本網(wǎng)將追究相關(guān)法律責任。
- 企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔責任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責任。
- 本網(wǎng)轉(zhuǎn)載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品來源,并自負版權(quán)等法律責任。
- 如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
2025中國鄭州衡器與計量技術(shù)設(shè)備展覽會
展會城市:鄭州市展會時間:2025-11-07