中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册 登录 广告服务 | 客服中心
您现在所在的是:

PLC论坛

抖音 德嘉 泓格论坛 FLIR红外热像论坛
工控论坛首页 PLC论坛 → 浏览主题: PLC画圆很难吗?其实,只要有方法,这都是浮云!
发表新帖 回复该主题
回帖:20个,阅读:2825 [上一页] [1] [2] [3] [下一页]
* 帖子主题:

PLC画圆很难吗?其实,只要有方法,这都是浮云!

分享到
-1670
工控帮
文章数:38
年度积分:-1868
历史总积分:-1670
注册时间:2018/11/6
发站内信
发表于:2019/3/29 15:01:55
#0楼
用PLC怎么画圆?相信很多朋友都思考过这个问题,PLC200 smart并没有开发这个功能,需要自己写程序实现,本文和喜欢工控和开发的朋友们交流一下这个有趣的问题,笔者在调试成功的基础上附上视频和程序介绍一种画圆的方法,此方法通用性强,可以根据这个原理方法绘制其它不同的曲线。
附件 1.jpg
以上图的抛物线y=x^2为分析,我们知道一个方向上走匀速,一个方向上以恒定的加速度运动,轨迹就是抛物线。同样我们可以想到,X轴匀速运动,Y轴变速运动,运动轨迹就会走出曲线。匀速运动时用路程除以时间就可以得到速度,而变速度就需要从微分的角度来计算,即:
附件 2.jpg
附件 3.jpg

所以从原点开始,X方向上以2mm/s的速度匀速向右,Y方向上以Vy=4X的变速度向上运动就能得到上图抛物线。

附件 4.jpg
有了前面的分析,我们可以试试分析这个以50mm为半径的圆形:X^2+Y^2=50^2
可以看到(-50,50)区间内每一个X对应两个Y值,两个Y值一正一负且绝对值相等,对应位置的导数值也是一正一负且绝对值相等,那么当X轴方向上以2mm/s的速度向右运动,要得到这个圆弧的轨迹,在任意一个X位置对应的Y的速度是:
实际走出来的轨迹)
附件 5.jpg

这里都取了X方向的速度为2mm/s,是一个比较慢的速度,再根据Vy的公式(编写入中断程序进行运算),可以编写程序绘制圆形了,只需要注意在在绘制途中X方向和Y方向改变的位置要做一些处理,下面用程序与注释来说明整段程序的过程。(下图是程序建立坐标原点即参考点后实际走出来的轨迹)
附件 6.jpg
首先画圆形需要的是一个两轴控制台(包括步进电机和画图的平台等),两个驱动器,一台200PLC,笔者视频里用的是一个三轴的平台,驱动器细分调至3200,写程序之前使用运动向导,设置两个轴,测量系统选择工程单位,方便我们计算,也更直观,细分3200,我的步进电机每转一圈前进5mm,如下图所示:
附件 7.jpg
方向控制选项如下图,X轴选择单相2输出,因为画圆过程中X方向上有正有负;Y轴选择单相1输出,因为Y轴运动靠的是点动RUN控制,笔者在调试过程中发现使用单相2输出时,使用点动的Director或者Q0.7来控制方向会有时候不受控制,这是因为手动子程序里包含了方向控制导致程序冲突,所以这里Y轴使用单相1输出,调试结果很稳定。其余对电机速度,JOG选项进行一些常规设置即可。(笔者尝试了为实现Y轴变速运动,使用组态中的相对运动和绝对运动子程序,为其提供变速度且实时改变终点位置,结果是Y轴没有动作,因此用相对和绝对不能控制一个速度和位置的数值实时变化的运动,因此最后选择了点动来实现这个变速的功能)

附件 8.jpg
附件 9.jpg
附件 10.jpg
附件 11.jpg

附件 12.jpg
附件 13.jpg

然后开始写主程序:

附件 14.jpg
附件 15.jpg
附件 16.jpg
附件 17.jpg
附件 18.jpg
附件 19.jpg
附件 20.jpg
附件 21.jpg
附件 22.jpg
附件 23.jpg
附件 24.jpg
附件 25.jpg
附件 26.jpg

这是笔者原创的程序,200smart并没有开发相应的功能,三菱plc有圆弧插补功能,笔者没有接触过三菱plc,通过查阅PLC圆弧插补的资料和原理,对两种方法进行了对比:圆弧插补功能的原理是将圆分解成N段折线来画,其误差在某范围内可控,而以上介绍的方法从纯数学的角度来讲是相当完美的,但是也有缺点,它的完美程度取决于中断运算的时间和X方向上的速度,如果运算时间设计较长,Y轴加速情况下会丢步较多,减速情况下会过冲较多,运算时间短对CPU要求较高,X方向速度过快会导致丢步较多,另外由于是浮点数运算,每一步本身就存在极少量丢步。
尽管有这么多理论上的缺陷,但是由于10ms运算间隙时间极短且X轴方向上走的较慢,实际走的圆非常的光滑接近完美的圆。
大家看完此文应该可以完成很多曲线的编程画自己想画的图形了,但是根据函数的复杂性和求导的难度使得编程有难易程度的区别。
3706
18540531
文章数:475
年度积分:101
历史总积分:3706
注册时间:2017/3/18
发站内信
发表于:2019/3/29 16:13:33
#1楼
确实是挺牛的,
以前在老家的河边,看到一个自动画糖人的小机械,很好玩
应该是也连个轴做插补运动。
但糖人的形状是不规则的 动物图案,这个东西如何实现插补呢?
江楓渔
7096
changmike
文章数:944
年度积分:489
历史总积分:7096
注册时间:2018/6/11
发站内信
发表于:2019/3/29 19:52:47
#2楼
楼主牛啊,可以写这个程序来玩一玩!
19122
hpqian
文章数:4168
年度积分:306
历史总积分:19122
注册时间:2005/3/31
发站内信
发表于:2019/3/29 21:18:11
#3楼
楼主真历害啊!
一切都在努力中!!
722
275490806
文章数:80
年度积分:50
历史总积分:722
注册时间:2018/10/16
发站内信
发表于:2019/3/30 6:20:50
#4楼
谢谢分享
此帖发自论坛APP
903
993737565
文章数:278
年度积分:50
历史总积分:903
注册时间:2018/11/26
发站内信
发表于:2019/3/30 8:54:30
#5楼
    谢谢楼主的分享   ~·~
84475
ZCMY 版主
文章数:47271
年度积分:534
历史总积分:84475
注册时间:2004/3/16
发站内信
2018论坛贡献奖
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(三)
2016论坛优秀版主
2015论坛优秀版主
2014论坛优秀版主
2014相约国庆
2013论坛优秀版主
2012论坛优秀版主
2011论坛贡献奖
2010年论坛优秀版主
发表于:2019/3/30 9:20:27
#6楼
哈哈;真的要用,基本还是选带圆弧插补的主机或定位扩展单元直接来实现了;
-1670
工控帮
文章数:38
年度积分:-1868
历史总积分:-1670
注册时间:2018/11/6
发站内信
发表于:2019/3/30 15:55:52
#7楼
下次分享PLC画心形,送给亲爱的她。工控人的浪漫情怀啊。表情
27308
guanyumou 版主
文章数:10447
年度积分:491
历史总积分:27308
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2019/3/30 15:58:39
#8楼
以下是引用工控帮2019/3/30 15:55:52的发言:
下次分享PLC画心形,送给亲爱的她。工控人的浪漫情怀啊。表情
楼主分享了不少好的帖子了!
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
568
18120586096
文章数:23
年度积分:50
历史总积分:568
注册时间:2018/10/8
发站内信
发表于:2019/3/30 16:59:16
#9楼
回复 #7楼 工控帮
楼主期待你的心形图,哈哈
工控学堂推荐视频:

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

124.8008