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

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

3天内不再提示

如何用PLC简易画圆

1X4o_GKB1508 2019-02-21 17:40 次阅读

PLC怎么画圆?相信很多朋友都思考过这个问题,PLC200 smart并没有开发这个功能,需要自己写程序实现,本文和喜欢工控和开发的朋友们交流一下这个有趣的问题,笔者在调试成功的基础上附上视频和程序介绍一种画圆的方法,此方法通用性强,可以根据这个原理方法绘制其它不同的曲线。

如何用PLC简易画圆

以上图的抛物线y=x^2为例分析,我们知道一个方向上走匀速,一个方向上以恒定的加速度运动,轨迹就是抛物线。同样我们可以想到,X轴匀速运动,Y轴变速运动,运动轨迹就会走出曲线。匀速运动时用路程除以时间就可以得到速度,而变速度就需要从微分的角度来计算,即:

如何用PLC简易画圆

我们假定X轴方向上走2mm/s的匀速,即:

如何用PLC简易画圆

如何用PLC简易画圆

有了前面的分析,我们可以试试分析这个以50mm为半径的圆形:

可以看到(-50,50)区间内每一个X对应两个Y值,两个Y值一正一负且绝对值相等,对应位置的导数值也是一正一负且绝对值相等,那么当X轴方向上以2mm/s的速度向右运动,要得到这个圆弧的轨迹,在任意一个X位置对应的Y的速度是:

如何用PLC简易画圆

这里都取了X方向的速度为2mm/s,是一个比较慢的速度,再根据Vy的公式(编写入中断程序进行运算),可以编写程序绘制圆形了,只需要注意在在绘制途中X方向和Y方向改变的位置要做一些处理,下面用程序与注释来说明整段程序的过程。(下图是程序建立坐标原点即参考点后实际走出来的轨迹)

如何用PLC简易画圆

首先画圆形需要的是一个两轴控制台(包括步进电机和画图的平台等),两个驱动器,一台200PLC,笔者视频里用的是一个三轴的平台,驱动器细分调至3200,写程序之前使用运动向导,设置两个轴,测量系统选择工程单位,方便我们计算,也更直观,细分3200,我的步进电机每转一圈前进5mm,如下图所示:

如何用PLC简易画圆

方向控制选项如下图,X轴选择单相2输出,因为画圆过程中X方向上有正有负;Y轴选择单相1输出,因为Y轴运动靠的是点动RUN控制,笔者在调试过程中发现使用单相2输出时,使用点动的Director或者Q0.7来控制方向会有时候不受控制,这是因为手动子程序里包含了方向控制导致程序冲突,所以这里Y轴使用单相1输出,调试结果很稳定。其余对电机速度,JOG选项进行一些常规设置即可。(笔者尝试了为实现Y轴变速运动,使用组态中的相对运动和绝对运动子程序,为其提供变速度且实时改变终点位置,结果是Y轴没有动作,因此用相对和绝对不能控制一个速度和位置的数值实时变化的运动,因此最后选择了点动来实现这个变速的功能)

如何用PLC简易画圆

如何用PLC简易画圆

如何用PLC简易画圆

如何用PLC简易画圆

然后开始写主程序:

如何用PLC简易画圆

如何用PLC简易画圆

如何用PLC简易画圆

如何用PLC简易画圆

如何用PLC简易画圆

如何用PLC简易画圆

如何用PLC简易画圆

如何用PLC简易画圆

如何用PLC简易画圆

如何用PLC简易画圆

如何用PLC简易画圆

如何用PLC简易画圆

如何用PLC简易画圆

如何用PLC简易画圆

如何用PLC简易画圆

这是笔者原创的程序,200smart并没有开发相应的功能,三菱plc有圆弧插补功能,笔者没有接触过三菱plc,通过查阅PLC圆弧插补的资料和原理,对两种方法进行了对比:圆弧插补功能的原理是将圆分解成N段折线来画,其误差在某范围内可控,而以上介绍的方法从纯数学的角度来讲是相当完美的,但是也有缺点,它的完美程度取决于中断运算的时间和X方向上的速度,如果运算时间设计较长,Y轴加速情况下会丢步较多,减速情况下会过冲较多,运算时间短对CPU要求较高,X方向速度过快会导致丢步较多,另外由于是浮点数运算,每一步本身就存在极少量丢步。

尽管有这么多理论上的缺陷,但是由于10ms运算间隙时间极短且X轴方向上走的较慢,实际走的圆非常的光滑接近完美的圆。

大家看完此文应该可以完成很多曲线的编程画自己想画的图形了,但是根据函数的复杂性和求导的难度使得编程有难易程度的区别,可以挑战一下试试画一个爱心,如下图。该程序我会在下一篇文章写给大家供参考。

如何用PLC简易画圆

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

    关注

    4974

    文章

    12244

    浏览量

    454828

原文标题:PLC画圆很难嘛?其实,只要有方法,这都是浮云!

文章出处:【微信号:GKB1508,微信公众号:工控帮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    画线画圆程序

    在12864的液晶屏上画线画圆都需要12864中读出某个地址的数据,然后在写进去。我现在有块迷你型的12864,他本身不带任何芯片。那我应该如何编写这种画圆画线的函数?
    发表于 03-05 15:56

    请问怎么在图像中画圆

    在labview中用IMAQ打开图像后,怎么在图像中画圆?而且是用圆心加半径的方法。我用draw circle by radius函数时,连不上图像。比如在这个图像中画圆
    发表于 04-19 16:55

    何用labview做程序画圆孔衍射波形

    何用labview做程序画圆孔衍射波形?
    发表于 05-12 18:12

    在TFT上画圆的算法是什么?

    以上是我自己编的一段画圆的程序,其中x , y 表示画圆的圆心。r 圆的半径。。。?LCD_WritePoint() 为画点函数。请问为什么运行程序后怎么变成了整个屏幕的刷屏了?请问原子哥你的画圆的算法是什么?
    发表于 03-25 03:27

    CAD制图初学入门之CAD画圆方法一

    `使用CAD绘图软件的过程中,圆和弧是比较常见的,但是对于很多CAD制图初学入门者来说,由于对CAD制图方法不够了解,所以不知道如何绘制圆或者圆弧,下面我们就来介绍一下已知圆心画圆的CAD画圆方法
    发表于 01-13 10:23

    cad制图初学入门画圆之CAD画圆方法

    使用CAD绘图软件的过程中,圆和弧是比较常见的,但是对于很多CAD制图初学入门者来说,由于对CAD制图方法不够了解,所以不知道如何绘制圆或者圆弧,下面我们就来介绍一下已知端点画圆的CAD画圆方法。1
    发表于 01-14 17:05

    何用CP2200实现MCU的简易型以太网接口?

    CP2200的主要功能是什么?如何用CP2200实现MCU的简易型以太网接口?
    发表于 05-31 06:21

    如何学用circle画圆

    问题描述:学用circle画圆形。程序源码:#includevoid main(){int driver,mode,i;float j=1,k=1;driver=VGA;mode=VGAHI
    发表于 07-14 07:27

    何用circle画圆形?

    何用circle画圆形?
    发表于 10-14 07:24

    中心点画圆和Bresenham画圆,哪种算法速度更快?

    中心点画圆和Bresenham画圆,哪种算法速度更快?
    发表于 10-28 08:04

    何用指令使PLC输出脉冲的方法

    PLC输出脉冲的方法还是比较多的,我们可以根据控制不同的负载,通过不同的指令输出脉冲的频率是不一样的。下面我们以日系PLC(可编程控制器)与各位朋友说说如何用指令使PLC一直输出脉冲
    的头像 发表于 10-19 11:03 3.5w次阅读

    【STM32】STM32 OLED打点划线画圆 OLED电子罗盘 程序

    【STM32】STM32 OLED打点划线画圆 OLED电子罗盘 程序
    发表于 12-08 12:21 47次下载
    【STM32】STM32 OLED打点划线<b class='flag-5'>画圆</b> OLED电子罗盘 程序

    三菱PLC何用网关去进行数据采集

    ,远程运行和维护,远程PLC程序上下载,物通博联推出的三菱PLC网关能够很好的去和工业设备内置的PLC进行对接,那么三菱PLC何用网关去进
    发表于 01-17 16:18 1475次阅读

    何用一台plc物联网网关连接多台以太网PLC?

    何用一台plc物联网网关连接多台以太网PLC?
    的头像 发表于 02-02 15:59 797次阅读
    如<b class='flag-5'>何用</b>一台<b class='flag-5'>plc</b>物联网网关连接多台以太网<b class='flag-5'>PLC</b>?

    简易PLC的应用领域包括哪些?

    (1)家庭自动化:简易PLC可以用于控制家庭自动化系统,例如灯光控制、温度调节、窗帘控制等。它可以接收传感器信号,并根据预设的逻辑和时间触发相应的输出操作。 (2)小型机器控制:对于小型机器或设备
    的头像 发表于 09-13 08:35 342次阅读
    <b class='flag-5'>简易</b>型<b class='flag-5'>PLC</b>的应用领域包括哪些?