直播推薦
企業(yè)動態(tài)
- 紛享銷客發(fā)布首個企業(yè)級智能CRM平臺ShareAI
- 揭秘西企業(yè)數(shù)字化+低碳化轉(zhuǎn)型“工具箱”:西門子Xcelerator
- 企業(yè)AI賦能數(shù)智制造,用友U9 cloud世界級云ERP煥新升級
- 《“智“領(lǐng)石化,“質(zhì)“造未來——威圖石化行業(yè)數(shù)智化實踐白皮書》隆重發(fā)布
- 攜手共贏!德國Agfa搭載瑞典IPCO鋼帶,實現(xiàn)印刷設(shè)備振動銳減6倍,提升印刷速度與精度
- 創(chuàng)四方集團榮獲“知名商標品牌閃亮”證書,助力品牌戰(zhàn)略升級
- 皇冠CAD(CrownCAD)2025 R3版本來了,率先開啟C“Ai”D時代!
- 電費砍半!中國制冷展:海爾發(fā)布AI建筑最新成果
推薦展會
一、功能和工藝要求
1.接受常見的平面矢量圖形文件,如PLT,DXF。
2.處理圖形加工的先后順序,及加工方向。
3.能簡單處理圖形,如選擇,旋轉(zhuǎn),平移,鏡像,復(fù)制,排列等。
4.可手動調(diào)試設(shè)備,及檢測輸入輸出。
5.加工控制能調(diào)節(jié)速度,需要暫停,繼續(xù),中斷等控制。
6.加工需要顯示時度,時間,位置等部分用戶信息
7.可設(shè)定加工工作原點,激光開關(guān)控制(此處不關(guān)心激光能量調(diào)節(jié))
二、系統(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 速度改變速度
四、核心部分的編程
在實際編程當中,有較多細節(jié)需要解決:
1.需要考慮響應(yīng)加工暫停,繼續(xù),中斷的操作,位置顯示等
2.暫停后XY位置需要記錄,有可能XY被手動移開
3.加工完整個圖形,需要回到一停止位置,以便取料
4.開激光關(guān)激光,需要考慮激光的反應(yīng)時間
5.在實際應(yīng)用當中,當激光未開啟時,為提高速度,可直接采用點位運動
6.需要需要速度的調(diào)節(jié)處理
注意:以下代碼只體現(xiàn)只實用的編程思想,不會能通過編譯器的編譯
const UINT NORUN =0x0000; //空閑,或中斷狀態(tài)
const UINT RUNNING =0x0001; //運行狀態(tài)標識
const UINT CONTINUE =0x0002; //繼續(xù)標識
const UINT PAUSE =0X0003 //暫停標識
UINT m_nWorkStatus = NORUN; //記錄加工狀態(tài),初始化為NORUN
void OnButtonStart()
{//開始按鈕(可當暫停,繼續(xù),開始用,在某些情況下,繼續(xù)與暫停隔開較好一些)
if( runData.GetSize() < 1 )
{
messageBox(“無加工數(shù)據(jù)或未生成加工路徑”,”提示”);
return;,
}
switch( m_nWorkStatus ){
case NORUN://若空閑,直接加工
m_nWorkStatus = RUNNING; //運行
RunData(); //調(diào)用加工核心函數(shù)
Break;
Case RUNNING://若在運行,則中斷
M_nWorkStatus = PAUSE;
StopMove( X,Y ); //停止XY驅(qū)動
Break;
Case PAUSE://若為暫停
M_nWorkStatus = CONTINUE;//繼續(xù)處理
Break;
}
}
void OnButtonStop()
{//中斷加工處理
m_nWorkStatus = NORUN;
StopMove(X,Y);
}
double fRunSpeed(10.0); //加工速度
void RunData()
{
//數(shù)據(jù)runData的定義為: CarrayrunData
//CDPoint的定義,可參見[編程技術(shù)]的資料
const int nSize = runData.GetSize();
//處理進度度
progress.SetRang(0, nSize);
CDPoint pntBreak; //暫停時記錄的斷點
BOOL bPause=false;
for( int I(0); I
{
::DoEvent(); //一個系統(tǒng)消息處理函數(shù)
switch( m_nWorkStatus ){
case PAUSE://若為暫停,只管循檢系統(tǒng)消息
continue;
case CONTINUE:
m_nWorkStatus = RUNNING;
case RUNNING:
{
if( IsMove(X,Y) ) break;//如果XY在運行,則繼續(xù)檢測系統(tǒng)消息
const CDPoint &pt = runData[I];
if( I == 0 || bPause )
{
bPause = false;
//快速到達*點或斷點
I == 0?
fast_moveto( pt.x, pt.y )://達到*點
fast_moveto( pntBreak.x, pntBreak.y);//達到斷點
while( IsMove(X,Y) ) :: DoEvent();//等待達到位置
if( m_nWorkStatus == RUNNING )
{
OpenLasert( Nio ); //開啟激光
Sleep( ti_open ); //開啟延時
}
continue;
}
Con_Line_move( pt.x, pt.y, fRunSpeed );
//此處用勻速,因為激光切割速度不快
while( IsMove(X,Y) ) ::DoEvent();
if( m_nWorkStatus == PAUSE )
{
CloseLasert( nIO );//關(guān)閉激光
Sleep( ti_close );//關(guān)閉延時
bPause = true;//有暫停
pntBreak.x = GetX(); pntBreak.y = GetY();//記錄斷點位置
}
else
if( m_nWorkStatus == RUNNING )
{//正常完成一個數(shù)據(jù)點
I ++;
Progress.PostMessage( PM_POS, I, 0 ); //更新進度條
}
}// end case running
}// end switch workstatus
}// end for i
CloseLasert( nIO );//關(guān)閉激光
Sleep( ti_close );//關(guān)閉延時
if( m_nWorkStatus != NORUN )
{//順序加工完
Fast_moveto (stopX,stopY);//達到停止位置
//其它計數(shù)處理
}
else{
//提示加工中斷
}
}
void OnVscrollSpeed( )
{//響應(yīng)的速度事件調(diào)節(jié)
fRunSpeed += 1;
或者
fRunSpeed -=1;
d1000_change_speed( fRunSpeed );//速度值更改
}
注意:
::DoEvent 函數(shù)在[編程技術(shù)]中或《編程高手》書中可找到
OpenLasert和CloseLasert函數(shù)只完成一個d1000_out_bit操作
Fast_moveto 內(nèi)含XY兩軸點位或插補驅(qū)動函數(shù)
Con_line_move 內(nèi)含XY兩軸的插補驅(qū)動函數(shù)(一般為常速)
GetX() 和GetY()函數(shù)內(nèi)含d1000_get_abs_position位置讀取函數(shù)
IsMove函數(shù)內(nèi)含檢測XY兩軸運動狀態(tài)檢測函數(shù)
五、注意事項
1.本程序未考慮脈沖當量的關(guān)系,需要用戶自行處理,在此只提供一種編程思路
2.部分參數(shù)需要用戶通過設(shè)定,在此只為簡單介紹
3.使用的部分結(jié)構(gòu)需要參考其它資料,或。
4.控制操作在實際應(yīng)用當中,需要改變按鈕的文字顯示,用戶需要留意
5.完好的系統(tǒng),需要限定速度和限定XY范圍
6.在某些激光切割系統(tǒng)中,激光的控制較為復(fù)雜,其編程思想基本一致
免責聲明
- 凡本網(wǎng)注明"來源:智能制造網(wǎng)"的所有作品,版權(quán)均屬于智能制造網(wǎng),轉(zhuǎn)載請必須注明智能制造網(wǎng),http://towegas.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第十一屆中國國際機電產(chǎn)品交易會 暨先進制造業(yè)博覽會
展會城市:合肥市展會時間:2025-09-20