<style id="7i3y3"></style>

      <sub id="7i3y3"><i id="7i3y3"></i></sub>

        午夜精品一区二区三区成人,中文字幕av一区二区,亚洲AVAV天堂AV在线网阿V,肥臀浪妇太爽了快点再快点,国产网友愉拍精品视频手机,国产精品无码a∨麻豆,久久中文字幕一区二区,a级国产乱理伦片在线观看al
        首頁 新聞 工控搜 論壇 廠商論壇 產品 方案 廠商 人才 文摘 下載 展覽
        中華工控網首頁
          P L C | 變頻器與傳動 | 傳感器 | 現場檢測儀表 | 工控軟件 | 人機界面 | 運動控制
          D C S | 工業以太網 | 現場總線 | 顯示調節儀表 | 數據采集 | 數傳測控 | 工業安全
          電 源 | 嵌入式系統 | PC based | 機柜箱體殼體 | 低壓電器 | 機器視覺
        DMC3000控制卡的多任務編程
        深圳市雷賽智能控制股份有限公司
        收藏本文     查看收藏
        以愚人之見,運動控制的編程使用多任務確實令人不可理解,因本人的理論是在數控行業編程,越是簡單就越好操作。但既有客戶的需求,那也得進行編程測試一下,畢竟實踐出真知嘛。
        從理論上講,Window比較大牌的編譯都是支持多任務編程(即多線程)。以下,為了使事情更簡化,本人從VC6.0環境下寫成一段小小代碼,配上一些注釋,望能了以解明。
        本例程序基本思路是這樣的,開辟一個新的線程,在線程中不斷顯示位置。以下列出相關步聚:

        1
        、在可視類(如Cdialog)聲明兩個變量
        CWinThread *pThread; //
        線程變量
        BOOL bActive
        //狀態,用于終止線程

        2
        、給變量初始化,至于構造函數中
        pThread = NULL;
        bActive = FALSE;
        3
        、在初始化控制成功后,分配并激活線程工作
        以下部分是在OnInitDialog()中完成的
        if( d3000_board_init() <= 0 )
        MessageBox(Fail initial );
        Else
        {
        pThread = AfxBeginThread( //
        創建一個線程
        (AFX_THREADPROC)TaskFunc, //
        這是線程的工作內容,一個函數指針
        (LPVOID)&m_hWnd, //
        傳入當前可視類的句柄
        THREAD_PRIORITY_NORMAL,//
        優先級正常
        0, //
        無堆棧
        CREATE_SUSPENDED//
        線程被創建時即刻掛起
        );
        if( pThread != NULL )
        {
        bActive = TRUE;//
        允許線程工作
        pThread->ResumeThread();//
        開始工作
        }
        }
        若需要更多了解AfxBeginThread函數,可參見MSDN說明

        4
        、為線程分配一個工作
        這個工作就是讀取板卡的位置,注意此函數為靜態函數
        UINT CTaskDlg::TaskFunc(LPVOID lParam)
        {
        CTaskDlg * pDlg = (CTaskDlg *)FromHandle(*((HWND *)lParam));//
        將句柄恢復成可視類
        if( pDlg == NULL )
        return 0;

        static CString string;
        long nStart = ::GetTickCount(),nEnd(nStart);
        while( pDlg->bActive )//
        bActiveFALSE工作結束
        {
        nEnd = ::GetTickCount();
        if( labs(nEnd - nStart) >= 100 )//100
        毫米刷新一次,因為線程執行速度比定時要快很多,頻繁高速的刷新反而讓人看不清,要不去掉else continue即可。
        {
        nStart = nEnd;
        }
        else continue;

        string.Format("Position:%ld, %ld, %ld, %ld",
        long(d3000_get_command(0)),
        long(d3000_get_command(1)),
        long(d3000_get_command(2)),
        long(d3000_get_command(3)));
        //
        取得四軸的脈沖位置,并刷新到一個ID名為IDC_STATIC_COUNT控件上
        pDlg->GetDlgItem( IDC_STATIC_POSITION )->SetWindowText( string );
        }
        return 1;
        }

        5
        、結束線程
        此段代碼放置于OnDestroy()函數中
        bActive=FALSE; //
        停止線程工作
        delete pThread; //
        刪除線程(可以不需要此語句,創建線程時若不特別指定,線程會自動被刪除)。
        d3000_board_close();//
        關閉控制卡須放大線程結束后,否則線程讀到的位置會不正確

        6
        、后記補充
        據我所知,要是用線程來作實時性強的過程控制將是個不錯的選擇,因為定時器的響應速度太慢,不及線程執行速度快。若想更多了解過程控制編程的特點,可參見另一篇《過程控制編程探計》。
         

        狀 態: 離線

        公司簡介
        產品目錄

        公司名稱: 深圳市雷賽智能控制股份有限公司
        聯 系 人: 梁邦敏
        電  話: 755-26401178
        傳  真:
        地  址: 深圳市南山區登良路天安南油工業區2棟3樓
        郵  編: 518000
        主  頁:
         
        該廠商相關技術文摘:
        CNC解釋庫調用接口詳述
        DMC1000控制卡不能響應系統消息
        DMC2000脈沖速度初始化故障
        DMC2000運動控制卡常見軟件問題的解決方案
        DMC2200驅動程序特殊安裝方法
        DMC3000控制卡,與CNC之G代碼的邦定關系
        多類型運動控制卡編程方法探討
        多線程與控制卡編程
        發現步進電機定位不準怎么辦
        過程控制編程之簡要探討
        控制卡應用編程技巧幾招(2)
        更多文摘...
        立即發送詢問信息在線聯系該技術文摘廠商:
        用戶名: 密碼: 免費注冊為中華工控網會員
        請留下您的有效聯系方式,以方便我們及時與您聯絡

        關于我們 | 聯系我們 | 廣告服務 | 本站動態 | 友情鏈接 | 法律聲明 | 不良信息舉報
        工控網客服熱線:0755-86369299
        版權所有 中華工控網 Copyright©2022 Gkong.com, All Rights Reserved

        主站蜘蛛池模板: 亚洲永久精品日韩成人av| 国模精品一区二区三区| AV无码免费不卡在线观看| 男女动态无遮挡动态图| 亚洲av伦理一区二区| 蜜臀av日韩精品一区二区| 亚洲欧美偷国产日韩| 影音先锋大黄瓜视频| 嫩草院一区二区乱码| 欧美专区日韩视频人妻| 欧美国产日产一区二区| 国产做爰xxxⅹ久久久| 国产a在视频线精品视频下载| 欧美颜射内射中出口爆在线| 国产精品7m凸凹视频分类大全| 国产黑色丝袜在线播放| 91麻豆国产精品91久久久| 久久国产自偷自偷免费一区| 久久天天躁夜夜躁狠狠85| 国产欧美在线手机视频| 亚洲人成网站18禁止无码| 精品人人妻人人澡人人爽人人牛牛| 好深好湿好硬顶到了好爽| 2021国产精品自产拍在线| 精品久久丝袜熟女一二三| 永久无码天堂网小说区| 亚洲av第二区国产精品| 老太脱裤让老头玩ⅹxxxx| 久久99久国产麻精品66| 热久久99精品这里有精品| 亚洲特黄色片一区二区三区| 最近中文字幕国产精品| 免费看成人毛片无码视频 | yw尤物av无码国产在线观看| 精品国产午夜福利在线观看 | 狠狠躁天天躁中文字幕| 久久精品激情亚洲一二区| 动漫AV纯肉无码AV电影网| 欧洲精品码一区二区三区| 日本免费人成视频在线观看| 欧美人与zoxxxx另类|