• <span id="n97xl"><optgroup id="n97xl"></optgroup></span>
          1. <li id="n97xl"></li>
            <label id="n97xl"><meter id="n97xl"></meter></label>

              研學堂|運動控制卡編程小技巧(運動順序執行問題)

                 2020-11-17 運動控制13278
              核心提示:在運動控制卡開發應用中,運動順序執行是最常見的編程問題之一,關系到設備后續控制動作能否正常運行。 下面,我們分享研控運動控制卡的編程小技巧!
              微信圖片_20201117090516 
                     在運動控制卡開發應用中,運動順序執行是最常見的編程問題之一,關系到設備后續控制動作能否正常運行。
              下面,我們分享研控運動控制卡的編程小技巧!

                      希望對你有所幫助!

              運動順序執行

              編程技巧

              問題描述

                       我們使用上位機編程軟件對控制卡進行點位、插補等多段軌跡運動時,軌跡間需判斷上段軌跡運動停止狀(YK_check_done(CardNo,axis_no)),上段軌跡運動停止則立即啟動下段軌跡運動。

                      如果編程時只是單獨使用While循環,執行后會發現上位機界面被卡死,按鍵不能響應。

                      如以下用例程序,將出現上述問題:

                      研控控制卡MCC800從位置dist_0運動到位置dist_1,程序如下:
               
                      //設定運動速度參數
                      rtn =YK_set_profile(mCardNo,Axis,atof(mMinVel),atof(mMaxVel),atof(mAccTime),atof(mDecTime),atof(mEndVel));
                      //設定S段時間
                      rtn  =YK_set_s_profile(mCardNo,Axis,0,atof(mSmoothTime));                           
                      //啟動第一段運動軌跡
                      rtn= YK_pmove(mCardNo, Axis, dist_0, 0);
                     //判斷當前軸狀態
                     status= YK_check_done(mCardNo, Axis );                        
                     //循環判斷當前軸運動狀態
                     while (status ==0)
                     {
                     // "當前狀態:運動",繼續循環判斷;   
                            status = YK_check_done(mCardNo,Axis );   
                     }
                     //啟動第二段運動軌跡
                     rtn= YK_pmove(mCardNo, Axis, dist_1, 0);
                     //指令執行完成


              原因分析

                     上述程序,在啟動運動位置到dist_0過程中需不斷循環判斷運動是否停止,在條件不滿足即運動沒有停止時程序一直處于循環中,程序將會占用整個軟件的進程時間資源,即進入了死循環,其它進程消息不能及時響應,導致上位機界面卡死。
              因此我們需要軟件在循環判斷運動狀態的同時還需響應其它進程消息。

              3 解決方案

                     軟件多線程可解決上述問題,但多線程較麻煩。可以使用軟件自動函數實現。

                     1   VB編程

                      VB編程軟件中有系統自動線程函數“DoEvents”。
                      //循環判斷當前軸運動狀態
                      while (status ==0)
                     {
                     // "當前狀態:運動",繼續循環判斷;   
                            status = YK_check_done(mCardNo,Axis );  
                     // 使用VB編程中自帶線程函數“DoEvents”
                     DoEvents
                     }

                   2    VC編程

                     VC編程軟件中有類似線程查詢函數“PeekMessage”。
                     //循環定義函數名DoEvents
                     void CMCC800VCTestMotionDlg::DoEvents()
                     {      
                     static MSG msg;
                    if(::PeekMessage(&msg,NULL,0,0,PM_NOREMOVE) )
                     {
                      ::TranslateMessage( &msg );
                      ::DispatchMessage( &msg );
                     }      
                     }

              3    C# 編程

                    C#編程軟件中有系統自動線程函數“DoEvents”。
                    //循環判斷當前軸運動狀態
                    while (status == 0)
                     {
                     // "當前狀態:運動",繼續循環判斷;   
                     status=MCC. YK_check_done(mCardNo, Axis );  
                     // 使用C#編程中自帶線程函數“DoEvents”
                     Application.DoEvents();
                     }

               4    Labview 編程

                     Labview編程軟件中在循環框中添加延時時間。

              微信圖片_20201117090520
               
              標簽: 運動控制
              分享到: 0
              收藏 0
               
              更多>同類方案
              免責申明
              推薦方案
              點擊排行
              最新資訊更多>
              最新供應更多>
              網站首頁  |  聯系方式  |  關于我們  |  問題解析  |  版權隱私  |  使用協議  |  網站地圖  |  排名推廣  |  廣告服務  |  積分換禮  |  網站留言  |  RSS訂閱  |  違規舉報  |  粵ICP備1207862號

              中國智能化網(zgznh®)--引領工業智能化產業發展 共享智能化+優質平臺

              版權所有:深圳市智控網絡有限公司 學術指導:深圳市智能化學會

              粵ICP備12078626號

              深公網安備案證字第 4403101901094 號 | 粵公網安備 44030702001206號

               
              主站蜘蛛池模板: 欧美激情综合网| 五月天综合网| 色综合中文字幕| 亚洲狠狠婷婷综合久久久久| 一本色道久久88综合日韩精品| 亚洲欧美日韩综合网导航 | 色婷婷综合缴情综免费观看| 精品无码综合一区| 亚洲另类激情综合偷自拍| 国产成人综合在线观看网站| 伊人成色综合网| 亚洲综合最新无码专区| 99久久国产主播综合精品| 狠狠色狠狠色综合| 亚洲日本国产综合高清| 亚洲欧美综合在线中文| 色综合网站国产麻豆| 色欲久久久天天天综合网| 国产巨作麻豆欧美亚洲综合久久 | 综合在线免费视频| 99精品国产综合久久久久五月天| 日韩综合无码一区二区| 综合五月激情五月开心婷婷| 激情综合亚洲色婷婷五月| 国产精品日韩欧美久久综合| 亚洲人成网站999久久久综合| 色综合久久中文综合网| 伊人久久综合成人网| 亚洲国产aⅴ综合网| 五月天婷五月天综合网在线| 欧美综合图区亚欧综合图区| 天天色综合天天色| 久久综合色区| 六月婷婷缴清综合在线| 久久婷婷五月综合97色直播| 狠狠综合久久综合88亚洲| 久久婷婷色香五月综合激情| 五月婷婷综合免费| 中文字幕乱码人妻综合二区三区| 色悠久久久久久久综合网| 国产婷婷色综合AV蜜臀AV|