一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

研控運(yùn)動(dòng)控制卡的編程小技巧

電子設(shè)計(jì) ? 來源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2020-12-24 18:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

下面,我們分享研控運(yùn)動(dòng)控制卡的編程小技巧!

希望對你有所幫助!

運(yùn)動(dòng)順序執(zhí)行——編程技巧

1.1

問題描述

我們使用上位機(jī)編程軟件對控制卡進(jìn)行點(diǎn)位、插補(bǔ)等多段軌跡運(yùn)動(dòng)時(shí),軌跡間需判斷上段軌跡運(yùn)動(dòng)停止?fàn)顟B(tài)(YK_check_done(CardNo,axis_no)),上段軌跡運(yùn)動(dòng)停止則立即啟動(dòng)下段軌跡運(yùn)動(dòng)。

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

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

研控控制卡MCC800從位置dist_0運(yùn)動(dòng)到位置dist_1,程序如下:

//設(shè)定運(yùn)動(dòng)速度參數(shù)

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

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

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

//啟動(dòng)第一段運(yùn)動(dòng)軌跡

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

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

status= YK_check_done(mCardNo, Axis );

//循環(huán)判斷當(dāng)前軸運(yùn)動(dòng)狀態(tài)

while (status ==0)

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

status = YK_check_done(mCardNo,Axis );

//啟動(dòng)第二段運(yùn)動(dòng)軌跡

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

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

1.2

原因分析

上述程序,在啟動(dòng) 運(yùn)動(dòng)位置到dist_0過程中需不斷循環(huán)判斷運(yùn)動(dòng)是否停止,在條件不滿足即運(yùn)動(dòng)沒有停止時(shí)程序一直處于循環(huán)中,程序?qū)?huì)占用整個(gè)軟件的進(jìn)程時(shí)間資源,即進(jìn)入了死循環(huán),其它進(jìn)程消息不能及時(shí)響應(yīng),導(dǎo)致上位機(jī)界面卡死。

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

1.3

解決方案

軟件多 線程可解決上述問題,但多線程較麻煩??梢允褂密浖詣?dòng)函數(shù)實(shí)現(xiàn)。

1.3.1 VB編程

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

//循環(huán)判斷當(dāng)前軸運(yùn)動(dòng)狀態(tài)

while (status ==0)

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

status = YK_check_done(mCardNo,Axis );

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

DoEvents


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

    關(guān)注

    88

    文章

    3689

    瀏覽量

    95250
  • 運(yùn)動(dòng)控制卡

    關(guān)注

    7

    文章

    119

    瀏覽量

    15833
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    全球首創(chuàng)!PCIe超實(shí)時(shí)6通道EtherCAT運(yùn)動(dòng)控制卡上市!

    PCle超實(shí)用6通道EtherCAT運(yùn)動(dòng)控制卡助您實(shí)現(xiàn)更極速精準(zhǔn)的運(yùn)動(dòng)控制!
    的頭像 發(fā)表于 07-18 10:32 ?48次閱讀
    全球首創(chuàng)!PCIe超實(shí)時(shí)6通道EtherCAT<b class='flag-5'>運(yùn)動(dòng)</b><b class='flag-5'>控制卡</b>上市!

    全球首創(chuàng)!PCIe 6路高性能EtherCAT運(yùn)動(dòng)控制卡XPCIE6032H #正運(yùn)動(dòng)技術(shù) #運(yùn)動(dòng)控制卡

    運(yùn)動(dòng)控制
    正運(yùn)動(dòng)技術(shù)
    發(fā)布于 :2025年07月17日 10:01:51

    C#上位機(jī)與運(yùn)動(dòng)控制卡網(wǎng)絡(luò)通訊的周期上報(bào)

    使用C#上位機(jī)編程實(shí)現(xiàn)運(yùn)動(dòng)控制卡網(wǎng)絡(luò)通訊的周期上報(bào)功能
    的頭像 發(fā)表于 06-26 13:59 ?135次閱讀
    C#上位機(jī)與<b class='flag-5'>運(yùn)動(dòng)</b><b class='flag-5'>控制卡</b>網(wǎng)絡(luò)通訊的周期上報(bào)

    EtherCAT運(yùn)動(dòng)控制卡應(yīng)用開發(fā)教程之Java

    運(yùn)動(dòng)控制卡的Java開發(fā)及DLL調(diào)用
    的頭像 發(fā)表于 06-13 14:29 ?225次閱讀
    EtherCAT<b class='flag-5'>運(yùn)動(dòng)</b><b class='flag-5'>控制卡</b>應(yīng)用開發(fā)教程之Java

    控制系統(tǒng)調(diào)優(yōu)必備知識:“運(yùn)動(dòng)控制卡 控制周期怎么算”你真的懂了嗎?

    在工業(yè)自動(dòng)化領(lǐng)域,運(yùn)動(dòng)控制卡控制周期這個(gè)參數(shù)常常被忽視,但它卻是影響整個(gè)系統(tǒng)穩(wěn)定性、精度甚至產(chǎn)能的關(guān)鍵因素。你是不是也遇到過這些問題:電機(jī)總是抖動(dòng)?軌跡跟蹤老是偏?想優(yōu)化系統(tǒng)卻無從下手?大概率是你的
    的頭像 發(fā)表于 05-27 10:59 ?449次閱讀
    <b class='flag-5'>控制</b>系統(tǒng)調(diào)優(yōu)必備知識:“<b class='flag-5'>運(yùn)動(dòng)</b><b class='flag-5'>控制卡</b> <b class='flag-5'>控制</b>周期怎么算”你真的懂了嗎?

    運(yùn)動(dòng)控制卡網(wǎng)絡(luò)通訊的心跳檢測之C#上位機(jī)編程

    使用C#上位機(jī)編程實(shí)現(xiàn)運(yùn)動(dòng)控制卡網(wǎng)絡(luò)通訊的心跳檢測功能
    的頭像 發(fā)表于 12-24 10:54 ?1123次閱讀
    <b class='flag-5'>運(yùn)動(dòng)</b><b class='flag-5'>控制卡</b>網(wǎng)絡(luò)通訊的心跳檢測之C#上位機(jī)<b class='flag-5'>編程</b>

    運(yùn)動(dòng)控制卡周期上報(bào)實(shí)時(shí)數(shù)據(jù)IO狀態(tài)之C++篇

    使用C++進(jìn)行運(yùn)動(dòng)控制卡的周期上報(bào)功能實(shí)現(xiàn)
    的頭像 發(fā)表于 12-17 13:59 ?829次閱讀
    <b class='flag-5'>運(yùn)動(dòng)</b><b class='flag-5'>控制卡</b>周期上報(bào)實(shí)時(shí)數(shù)據(jù)IO狀態(tài)之C++篇

    AM263Px控制卡評估模塊

    電子發(fā)燒友網(wǎng)站提供《AM263Px控制卡評估模塊.pdf》資料免費(fèi)下載
    發(fā)表于 10-29 10:00 ?0次下載
    AM263Px<b class='flag-5'>控制卡</b>評估模塊

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

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

    AM263Px控制卡快速入門指南

    電子發(fā)燒友網(wǎng)站提供《AM263Px控制卡快速入門指南.pdf》資料免費(fèi)下載
    發(fā)表于 08-26 09:24 ?0次下載
    AM263Px<b class='flag-5'>控制卡</b>快速入門指南

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

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