0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

研控运动控制卡的编程小技巧

电子设计 来源:电子设计 作者:电子设计 2020-12-24 18:57 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

运动控制卡开发应用中,运动顺序执行是最常见的编程问题之一,关系到设备后续控制动作能否正常运行。

下面,我们分享研控运动控制卡的编程小技巧!

希望对你有所帮助!

运动顺序执行——编程技巧

1.1

问题描述

我们使用上位机编程软件对控制卡进行点位、插补等多段轨迹运动时,轨迹间需判断上段轨迹运动停止状态(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);

//指令执行完成

1.2

原因分析

上述程序,在启动 运动位置到dist_0过程中需不断循环判断运动是否停止,在条件不满足即运动没有停止时程序一直处于循环中,程序将会占用整个软件的进程时间资源,即进入了死循环,其它进程消息不能及时响应,导致上位机界面卡死。

因此我们需要软件在循环判断运动状态的同时还需响应其它进程消息。

1.3

解决方案

软件多 线程可解决上述问题,但多线程较麻烦。可以使用软件自动函数实现。

1.3.1 VB编程

VB编程软件中有系统自动线程函数“DoEvents”。

//循环判断当前轴运动状态

while (status ==0)

// "当前状态:运动",继续循环判断;

status = YK_check_done(mCardNo,Axis );

// 使用VB编程中自带线程函数“DoEvents”

DoEvents


审核编辑:符乾江
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    90

    文章

    3708

    浏览量

    96767
  • 运动控制卡
    +关注

    关注

    7

    文章

    126

    浏览量

    16043
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    6路高性能PCIe EtherCAT运动控制卡XPCIE6032H#运动控制卡# 正运动# 正运动控制卡

    运动控制
    正运动技术
    发布于 :2025年12月05日 13:53:57

    紧凑型网络运动控制卡ECI1808/ECI1A08

    紧凑型网络运动控制卡ECI1808/ECI1A08
    的头像 发表于 11-28 11:17 467次阅读
    紧凑型网络<b class='flag-5'>运动</b><b class='flag-5'>控制卡</b>ECI1808/ECI1A08

    高速高精运动控制!PCIe超实时2通道EtherCAT运动控制卡上市!

    PCle超实用2通道EtherCAT运动控制卡助您实现更极速精准的运动控制
    的头像 发表于 08-01 11:52 729次阅读
    高速高精<b class='flag-5'>运动</b><b class='flag-5'>控制</b>!PCIe超实时2通道EtherCAT<b class='flag-5'>运动</b><b class='flag-5'>控制卡</b>上市!

    全球首创!PCIe超实时6通道EtherCAT运动控制卡上市!

    PCle超实用6通道EtherCAT运动控制卡助您实现更极速精准的运动控制
    的头像 发表于 07-18 10:32 655次阅读
    全球首创!PCIe超实时6通道EtherCAT<b class='flag-5'>运动</b><b class='flag-5'>控制卡</b>上市!

    全球首创!PCIe 6路高性能EtherCAT运动控制卡XPCIE6032H #正运动技术 #运动控制卡

    运动控制
    正运动技术
    发布于 :2025年07月17日 10:01:51

    C#上位机与运动控制卡网络通讯的周期上报

    使用C#上位机编程实现运动控制卡网络通讯的周期上报功能
    的头像 发表于 06-26 13:59 536次阅读
    C#上位机与<b class='flag-5'>运动</b><b class='flag-5'>控制卡</b>网络通讯的周期上报

    EtherCAT运动控制卡应用开发教程之Java

    运动控制卡的Java开发及DLL调用
    的头像 发表于 06-13 14:29 630次阅读
    EtherCAT<b class='flag-5'>运动</b><b class='flag-5'>控制卡</b>应用开发教程之Java

    控制系统调优必备知识:“运动控制卡 控制周期怎么算”你真的懂了吗?

    在工业自动化领域,运动控制卡控制周期这个参数常常被忽视,但它却是影响整个系统稳定性、精度甚至产能的关键因素。你是不是也遇到过这些问题:电机总是抖动?轨迹跟踪老是偏?想优化系统却无从下手?大概率是你的
    的头像 发表于 05-27 10:59 1171次阅读
    <b class='flag-5'>控制</b>系统调优必备知识:“<b class='flag-5'>运动</b><b class='flag-5'>控制卡</b> <b class='flag-5'>控制</b>周期怎么算”你真的懂了吗?

    2025慕尼黑上海电子生产设备展,正运动高速高精运动控制卡应用预览(一)

    设备展(productronica China)将于3月26日- 28日在上海新国际博览中心隆重举行。 本次慕尼黑上海设备展正运动技术将携高速高精运动控制卡亮相。 产品导读 ●为智能装备提供高速高精
    的头像 发表于 03-14 14:36 783次阅读
    2025慕尼黑上海电子生产设备展,正<b class='flag-5'>运动</b>高速高精<b class='flag-5'>运动</b><b class='flag-5'>控制卡</b>应用预览(一)

    华工控机产品手册——运动控制与机器视觉

    ,其产品涵盖了运动控制系统、EtherCAT控制系统及机器视觉解决方案等,为全球客户提供了全面且深入的技术支持。华工控机产品手册---运动
    的头像 发表于 02-08 11:42 748次阅读
    <b class='flag-5'>研</b>华工控机产品手册——<b class='flag-5'>运动</b><b class='flag-5'>控制</b>与机器视觉

    运动控制卡网络通讯的心跳检测之C#上位机编程

    使用C#上位机编程实现运动控制卡网络通讯的心跳检测功能
    的头像 发表于 12-24 10:54 1976次阅读
    <b class='flag-5'>运动</b><b class='flag-5'>控制卡</b>网络通讯的心跳检测之C#上位机<b class='flag-5'>编程</b>

    运动控制卡周期上报实时数据IO状态之C++篇

    使用C++进行运动控制卡的周期上报功能实现
    的头像 发表于 12-17 13:59 1534次阅读
    <b class='flag-5'>运动</b><b class='flag-5'>控制卡</b>周期上报实时数据IO状态之C++篇