国产精品视频免费_亚洲欧美在线磁力_亚洲成人黄色在线观看_中文字幕一区二区在线播放

  • COMIZOA/COMI-LX系列運動控制卡在激光切割中的應用———COMIZOA/COMI-LX系列運動控制卡在激光切割中的應用
    廣州博瑋伺服科技有限公司

    一、功能和工藝要求
    1.接受常見的平面矢量圖形文件,如PLT,DXF。
    2.處理圖形加工的先后順序,及加工方向。
    3.能簡單處理圖形,如選擇,旋轉,平移,鏡像,復制,排列等。
    4.可手動調試設備,及檢測輸入輸出。
    5.加工控制能調節速度,需要暫停,繼續,中斷等控制。
    6.加工需要顯示時度,時間,位置等部分用戶信息
    7.可設定加工工作原點,激光開關控制(此處不關心激光能量調節)

    二、系統流程

     


    三、使用函數
    手動調試需要完成的功能:輸入輸出測試,手動驅動脈沖,檢測運行狀態,停止動作,找機械原點:
    對應的函數調為:
    d1000_out_bit 數字輸出函數,可控制激光的開啟或關閉
    d1000_get_in_bit 讀輸入口狀態
    d1000_start_tr_move 手動發脈沖,可使用單軸點位運行
    d1000_check_done 檢測運動狀態函數
    d1000_decel_stop 停止脈沖輸出(減速停較好)
    d1000_home_move 單軸找原點函數
    d1000_home_move_all 多軸找原點函數
    d1000_board_init 控制卡初始化
    d1000_board_close 控制卡釋放

    位置顯示及清除需要的函數:
    d1000_get_abs_position 取得絕對位置
    d1000_set_position 設定位置函數,當值為0時位置清除

    加工控制需要的函數:
    d1000_start_ta_line2 兩軸插補函數
    d1000_set_vector_profile 設定矢量插補速度
    d1000_change_speed 速度改變速度


    四、核心部分的編程
    在實際編程當中,有較多細節需要解決:
    1.需要考慮響應加工暫停,繼續,中斷的操作,位置顯示等
    2.暫停后XY位置需要記錄,有可能XY被手動移開
    3.加工完整個圖形,需要回到一停止位置,以便取料
    4.開激光關激光,需要考慮激光的反應時間
    5.在實際應用當中,當激光未開啟時,為提高速度,可直接采用點位運動
    6.需要需要速度的調節處理

    注意:以下代碼只體現只實用的編程思想,不會能通過編譯器的編譯

    const UINT NORUN =0x0000; //空閑,或中斷狀態
    const UINT RUNNING =0x0001; //運行狀態標識
    const UINT CONTINUE =0x0002; //繼續標識
    const UINT PAUSE =0X0003 //暫停標識

    UINT m_nWorkStatus = NORUN; //記錄加工狀態,初始化為NORUN

    void OnButtonStart()
    {//開始按鈕(可當暫停,繼續,開始用,在某些情況下,繼續與暫停隔開較好一些)
    if( runData.GetSize() < 1 )

    messageBox(“無加工數據或未生成加工路徑”,”提示”);
    return;,

    switch( m_nWorkStatus ){
    case NORUN://若空閑,直接加工
    m_nWorkStatus = RUNNING; //運行
    RunData(); //調用加工核心函數
    Break;
    Case RUNNING://若在運行,則中斷
    M_nWorkStatus = PAUSE;
    StopMove( X,Y ); //停止XY驅動
    Break;
    Case PAUSE://若為暫停
    M_nWorkStatus = CONTINUE;//繼續處理
    Break;

    void OnButtonStop()
    {//中斷加工處理
    m_nWorkStatus = NORUN;
    StopMove(X,Y);

    double fRunSpeed(10.0); //加工速度

    void RunData()

    //數據runData的定義為: CarrayrunData
    //CDPoint的定義,可參見[編程技術]的資料
    const int nSize = runData.GetSize();
    //處理進度度
    progress.SetRang(0, nSize);

    CDPoint pntBreak; //暫停時記錄的斷點
    BOOL bPause=false;
    for( int I(0); I

    ::DoEvent(); //一個系統消息處理函數
    switch( m_nWorkStatus ){
    case PAUSE://若為暫停,只管循檢系統消息
    continue;
    case CONTINUE:
    m_nWorkStatus = RUNNING;
    case RUNNING:

    if( IsMove(X,Y) ) break;//如果XY在運行,則繼續檢測系統消息
    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 );//關閉激光
    Sleep( ti_close );//關閉延時
    bPause = true;//有暫停
    pntBreak.x = GetX(); pntBreak.y = GetY();//記錄斷點位置

    else
    if( m_nWorkStatus == RUNNING )
    {//正常完成一個數據點
    I ++;
    Progress.PostMessage( PM_POS, I, 0 ); //更新進度條

    }// end case running
    }// end switch workstatus
    }// end for i
    CloseLasert( nIO );//關閉激光
    Sleep( ti_close );//關閉延時
    if( m_nWorkStatus != NORUN )
    {//順序加工完
    Fast_moveto (stopX,stopY);//達到停止位置
    //其它計數處理

    else{
    //提示加工中斷

    void OnVscrollSpeed( )
    {//響應的速度事件調節
    fRunSpeed += 1;
    或者
    fRunSpeed -=1;
    d1000_change_speed( fRunSpeed );//速度值更改

    注意:
    ::DoEvent 函數在[編程技術]中或《編程高手》書中可找到
    OpenLasert和CloseLasert函數只完成一個d1000_out_bit操作

    Fast_moveto 內含XY兩軸點位或插補驅動函數
    Con_line_move 內含XY兩軸的插補驅動函數(一般為常速)

    GetX() 和GetY()函數內含d1000_get_abs_position位置讀取函數
    IsMove函數內含檢測XY兩軸運動狀態檢測函數

    五、注意事項
    1.本程序未考慮脈沖當量的關系,需要用戶自行處理,在此只提供一種編程思路
    2.部分參數需要用戶通過設定,在此只為簡單介紹
    3.使用的部分結構需要參考其它資料,或來電咨詢。
    4.控制操作在實際應用當中,需要改變按鈕的文字顯示,用戶需要留意
    5.完好的系統,需要限定速度和限定XY范圍
    6.在某些激光切割系統中,激光的控制較為復雜,其編程思想基本一致

     

     

     
     
    網站首頁  |  關于我們  |  聯系我們  |  廣告服務  |  版權隱私  |  友情鏈接  |  站點導航
     
    主站蜘蛛池模板: 国产无套内射久久久国产| 免费看成人午夜电影| 久久av高潮av| 不卡日韩av| 久久久av电影| 精品国产综合| 久久99导航| 国产精品久久久久久久久久| 91精品国产91久久久久青草 | 日本丰满少妇黄大片在线观看| 欧美激情久久久久久| 精品网站在线看| 午夜精品一区二区在线观看的| 国产精品爽爽ⅴa在线观看| 欧美婷婷久久| 久久久久国产一区二区三区| 91国产高清在线| 国产精品日韩在线一区| 久久中文字幕一区| 日本精品一区二区三区高清 久久| 午夜精品久久久久久久男人的天堂| 精品视频导航| 国产精品久久久久久久久久久久午夜片 | 国产欧美欧洲| 亚洲国产精品www| 日韩久久久久久久久久久久| 欧美在线视频一二三| 国产精品自拍小视频| 91精品视频网站| 国产精品久久久久久久久久东京| 日韩在线三区| 日韩中文字幕二区| 99色精品视频| 久久久久国产精品熟女影院| 午夜视频久久久| 欧美一区少妇| 日韩av电影中文字幕| 免费久久99精品国产自| 日韩欧美在线免费观看视频| 高清视频一区| 欧美亚洲伦理www|