0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

研控運動控制卡的編程小技巧

電子設(shè)計 ? 來源:電子設(shè)計 ? 作者:電子設(shè)計 ? 2020-12-24 18:57 ? 次閱讀

運動控制卡開發(fā)應(yīng)用中,運動順序執(zhí)行是最常見的編程問題之一,關(guān)系到設(shè)備后續(xù)控制動作能否正常運行。

下面,我們分享研控運動控制卡的編程小技巧!

希望對你有所幫助!

運動順序執(zhí)行——編程技巧

1.1

問題描述

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

如果編程時只是單獨使用While循環(huán),執(zhí)行后會發(fā)現(xiàn)上位機界面被卡死,按鍵不能響應(yīng)。

如以下用例程序,將出現(xiàn)上述問題:

研控控制卡MCC800從位置dist_0運動到位置dist_1,程序如下:

//設(shè)定運動速度參數(shù)

rtn =Y(jié)K_set_profile(mCardNo,Axis,atof(mMinVel),atof(mMaxVel),atof(mAccTime),atof(mDecTime),atof(mEndVel));

//設(shè)定S段時間

rtn =Y(jié)K_set_s_profile(mCardNo,Axis,0,atof(mSmoothTime));

//啟動第一段運動軌跡

rtn= YK_pmove(mCardNo, Axis, dist_0, 0);

//判斷當前軸狀態(tài)

status= YK_check_done(mCardNo, Axis );

//循環(huán)判斷當前軸運動狀態(tài)

while (status ==0)

// "當前狀態(tài):運動",繼續(xù)循環(huán)判斷;

status = YK_check_done(mCardNo,Axis );

//啟動第二段運動軌跡

rtn= YK_pmove(mCardNo, Axis, dist_1, 0);

//指令執(zhí)行完成

1.2

原因分析

上述程序,在啟動 運動位置到dist_0過程中需不斷循環(huán)判斷運動是否停止,在條件不滿足即運動沒有停止時程序一直處于循環(huán)中,程序?qū)加谜麄€軟件的進程時間資源,即進入了死循環(huán),其它進程消息不能及時響應(yīng),導致上位機界面卡死。

因此我們需要軟件在循環(huán)判斷運動狀態(tài)的同時還需響應(yīng)其它進程消息。

1.3

解決方案

軟件多 線程可解決上述問題,但多線程較麻煩。可以使用軟件自動函數(shù)實現(xiàn)。

1.3.1 VB編程

VB編程軟件中有系統(tǒng)自動線程函數(shù)“DoEvents”。

//循環(huán)判斷當前軸運動狀態(tài)

while (status ==0)

// "當前狀態(tài):運動",繼續(xù)循環(huán)判斷;

status = YK_check_done(mCardNo,Axis );

// 使用VB編程中自帶線程函數(shù)“DoEvents”

DoEvents


審核編輯:符乾江
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3565

    瀏覽量

    93536
  • 運動控制卡
    +關(guān)注

    關(guān)注

    7

    文章

    106

    瀏覽量

    15437
收藏 人收藏

    評論

    相關(guān)推薦

    PCIe實時運動控制卡的雙盤視覺篩選機上位機開發(fā)應(yīng)用

    PCIe實時運動控制卡的雙盤視覺篩選機上位機開發(fā)應(yīng)用
    的頭像 發(fā)表于 10-10 10:15 ?202次閱讀
    PCIe實時<b class='flag-5'>運動</b><b class='flag-5'>控制卡</b>的雙盤視覺篩選機上位機開發(fā)應(yīng)用

    PCIe EtherCAT實時運動控制卡PCIE464的IO與編碼器讀寫應(yīng)用# 正運動技術(shù)# 運動控制卡

    編碼器運動控制卡
    正運動技術(shù)
    發(fā)布于 :2024年07月23日 09:37:31

    PCIe EtherCAT實時運動控制卡PCIE464的IO與編碼器讀寫應(yīng)用

    C#進行PCIe EtherCAT運動控制卡的項目開發(fā)和快速讀取多個IO和軸編碼器位置的例程。
    的頭像 發(fā)表于 07-17 14:47 ?730次閱讀
    PCIe EtherCAT實時<b class='flag-5'>運動</b><b class='flag-5'>控制卡</b>PCIE464的IO與編碼器讀寫應(yīng)用

    運動控制卡伺服電機如何控制

    運動控制卡伺服電機控制是現(xiàn)代工業(yè)自動化領(lǐng)域中一項重要的技術(shù),它涉及到運動控制卡、伺服電機、控制
    的頭像 發(fā)表于 06-12 14:13 ?745次閱讀

    PCIE464M — 高速高精,超高速PCIe EtherCAT實時運動控制卡

    運動“高速高精運動控制卡”家族再添一員猛將!
    的頭像 發(fā)表于 05-31 11:17 ?375次閱讀
    PCIE464M — 高速高精,超高速PCIe EtherCAT實時<b class='flag-5'>運動</b><b class='flag-5'>控制卡</b>

    運動控制卡/運動控制器的ZCAN總線ZMIO310擴展模塊使用

    運動控制卡/運動控制器的ZCAN總線ZMIO310擴展模塊使用
    的頭像 發(fā)表于 04-11 11:46 ?606次閱讀
    <b class='flag-5'>運動</b><b class='flag-5'>控制卡</b>/<b class='flag-5'>運動</b><b class='flag-5'>控制</b>器的ZCAN總線ZMIO310擴展模塊使用

    超高實時性的EtherCAT運動控制卡——PCIE464

    運動技術(shù)PCIE464運動控制卡,提供高效的工業(yè)運動控制解決方案。用戶可直接將PCIE464嵌入標準PC機快速實現(xiàn)高性能的EtherCAT
    發(fā)表于 01-26 14:39 ?1039次閱讀

    PT/PVT運動模式介紹:EtherCAT超高速實時運動控制卡XPCIE1032H上位機C#人工智能

    上位機運動控制卡
    正運動技術(shù)
    發(fā)布于 :2024年01月25日 11:12:46

    【正運動】高速高精,超高實時性的PCIe EtherCAT實時運動控制卡 | PCIE464

    軌跡的小線段前瞻,各種機器人與自定義機器人算法的控制,多種PSO控制等,滿足多樣化的工業(yè)應(yīng)用需求。正運動提供自主自IDE-RTSys開發(fā)編程
    發(fā)表于 01-24 09:48

    超高速PCle實時運動控制卡XPCIE1028 ,實現(xiàn)15000+pcs/分鐘的IO觸發(fā)檢測速度!# 視覺篩選

    運動控制卡
    正運動技術(shù)
    發(fā)布于 :2024年01月18日 09:22:13

    PCIE464 — 高速高精,超高實時性的PCIe EtherCAT實時運動控制卡

    運動高速高精運動控制卡家族迎來新成員!
    的頭像 發(fā)表于 01-17 16:29 ?626次閱讀
    PCIE464 — 高速高精,超高實時性的PCIe EtherCAT實時<b class='flag-5'>運動</b><b class='flag-5'>控制卡</b>

    EtherCAT超高速實時運動控制卡XPCIE1032H上位機C#開發(fā)(九)

    XPCIE1032H是一款基于PCI Express的EtherCAT總線運動控制卡,可選6-64軸運動控制,支持多路高速數(shù)字輸入輸出,可輕松實現(xiàn)多軸同步
    的頭像 發(fā)表于 01-13 09:11 ?1184次閱讀
    EtherCAT超高速實時<b class='flag-5'>運動</b><b class='flag-5'>控制卡</b>XPCIE1032H上位機C#開發(fā)(九)

    EtherCAT超高速實時運動控制卡(二):EtherCAT總線初始化

    XPCIE1032H是一款基于PCI Express的EtherCAT總線運動控制卡,可選6-64軸運動控制,支持多路高速數(shù)字輸入輸出,可輕松實現(xiàn)多軸同步
    的頭像 發(fā)表于 11-20 09:40 ?2164次閱讀
    EtherCAT超高速實時<b class='flag-5'>運動</b><b class='flag-5'>控制卡</b>(二):EtherCAT總線初始化

    EtherCAT運動控制卡XPCIE1032H上位機開發(fā)(一):驅(qū)動安裝

    XPCIE1032H是一款基于PCI Express的EtherCAT總線運動控制卡,可選6-64軸運動控制,支持多路高速數(shù)字輸入輸出,可輕松實現(xiàn)多軸同步
    的頭像 發(fā)表于 11-15 15:02 ?971次閱讀
    EtherCAT<b class='flag-5'>運動</b><b class='flag-5'>控制卡</b>XPCIE1032H上位機開發(fā)(一):驅(qū)動安裝