C#编写运动控制:自定义回原(三) 回原时为什么会出现运动指令无效跳过的现象

勇哥注:
设备的动作可以是plc,或者是运动控制来完成。
后者是一台工业电脑配上运动板卡来完成。
在有些工厂里,可能由客户喜好更喜欢用运动控制(比如富士康的苹果客户,
因为PC机和工厂的生产系统进行通讯要更方便一些,并且对视觉的配合要更好些)。
基于IPC和windows的运动控制,可靠性是没有plc好的。
因为plc相当于是一个专用小系统,并且是实时扫描的。可靠性是相当高。
但是PC有自己的优势,比如复杂和精密的视觉处理的设备都是离不开运动控制的,
因为运动卡能提供更复杂的运动能力和精度保证,plc只能做一些简单的ptp运动。

系列贴子导航:


C#编写运动控制:自定义回原(五) 验证自定义回原精度,并提出解决方案

C#编写运动控制:自定义回原(四) 完善回原功能

C#编写运动控制:自定义回原(三) 回原时为什么会出现运动指令无效跳过的现象

C#编写运动控制:自定义回原(二) 限位做为回原、限位反找回原

C#编写运动控制:自定义回原(一) 5种轴位置下的回原


运动控制之自定义回原(三)

继上节说到的一个问题。

回原的时候为啥有些PTP语句会被跳过执行?



image.png


反复“正回原点”时,会有机率出现下图所标注的ptp语句被跳出的现象(即没有运动的效果)。

此时直接执行到waitHomeDone()。程序因此被卡住。

image.png




这个问题按勇哥的经验主要是三个方面需要改进。


  1.   不要从ui线程中调用回原。

    从ui线程回原,还会发生其它的怪现象,例如有可能回原清零后还是带有几百个脉冲,不能清零干净。

    而这个现象是分机台的,跟电脑配置有关系。有些电脑上不会出现,有些会出现。


  2.  在循环等待运动完成的函数中,不要使用Application.DoEvents()

       这个问题见贴子:http://www.skcircle.com/?id=1927


    3.  在ptp运动执行前,务必再次判断轴是否为停止状态

       即使ptp之前执行过轴停止,但是如果马上ptp,有可能轴还是没停稳,ptp就有机率执行跳出。




本文视频讲解:







本文源码资料下载:


扫码收费5元,勇哥用以支付本站服务器费用。


支付5元或购买VIP会员后,才能查看本内容!立即支付升级会员查询订单



--------------------- 

作者:hackpig
来源:
www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!




本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2024年5月    »
12345
6789101112
13141516171819
20212223242526
2728293031
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864