PLC画圆很难吗?其实,只要有方法,这都是浮云
用PLC怎么画圆?相信很多朋友都思考过这个问题,PLC200 smart并没有开发这个功能,需要自己写程序实现,本文和喜欢工控和开发的朋友们交流一下这个有趣的问题,笔者在调试成功的基础上附上视频和程序介绍一种画圆的方法,此方法通用性强,可以根据这个原理方法绘制其它不同的曲线。
以上图的抛物线y=x^2为例分析,我们知道一个方向上走匀速,一个方向上以恒定的加速度运动,轨迹就是抛物线。同样我们可以想到,X轴匀速运动,Y轴变速运动,运动轨迹就会走出曲线。匀速运动时用路程除以时间就可以得到速度,而变速度就需要从微分的角度来计算,即:
所以从原点开始,X方向上以2mm/s的速度匀速向右,Y方向上以Vy=4X的变速度向上运动就能得到上图抛物线。
有了前面的分析,我们可以试试分析这个以50mm为半径的圆形:X^2+Y^2=50^2
可以看到(-50,50)区间内每一个X对应两个Y值,两个Y值一正一负且绝对值相等,对应位置的导数值也是一正一负且绝对值相等,那么当X轴方向上以2mm/s的速度向右运动,要得到这个圆弧的轨迹,在任意一个X位置对应的Y的速度是:
这里都取了X方向的速度为2mm/s,是一个比较慢的速度,再根据Vy的公式(编写入中断程序进行运算),可以编写程序绘制圆形了,只需要注意在在绘制途中X方向和Y方向改变的位置要做一些处理,下面用程序与注释来说明整段程序的过程。(下图是程序建立坐标原点即参考点后实际走出来的轨迹)
首先画圆形需要的是一个两轴控制台(包括步进电机和画图的平台等),两个驱动器,一台200PLC,笔者视频里用的是一个三轴的平台,驱动器细分调至3200,写程序之前使用运动向导,设置两个轴,测量系统选择工程单位,方便我们计算,也更直观,细分3200,我的步进电机每转一圈前进5mm,如下图所示:
方向控制选项如下图,X轴选择单相2输出,因为画圆过程中X方向上有正有负;Y轴选择单相1输出,因为Y轴运动靠的是点动RUN控制,笔者在调试过程中发现使用单相2输出时,使用点动的Director或者Q0.7来控制方向会有时候不受控制,这是因为手动子程序里包含了方向控制导致程序冲突,所以这里Y轴使用单相1输出,调试结果很稳定。其余对电机速度,JOG选项进行一些常规设置即可。(笔者尝试了为实现Y轴变速运动,使用组态中的相对运动和绝对运动子程序,为其提供变速度且实时改变终点位置,结果是Y轴没有动作,因此用相对和绝对不能控制一个速度和位置的数值实时变化的运动,因此最后选择了点动来实现这个变速的功能)
然后开始写主程序:
这是笔者原创的程序,200smart并没有开发相应的功能,三菱plc有圆弧插补功能,笔者没有接触过三菱plc,通过查阅PLC圆弧插补的资料和原理,对两种方法进行了对比:圆弧插补功能的原理是将圆分解成N段折线来画,其误差在某范围内可控,而以上介绍的方法从纯数学的角度来讲是相当完美的,但是也有缺点,它的完美程度取决于中断运算的时间和X方向上的速度,如果运算时间设计较长,Y轴加速情况下会丢步较多,减速情况下会过冲较多,运算时间短对CPU要求较高,X方向速度过快会导致丢步较多,另外由于是浮点数运算,每一步本身就存在极少量丢步。
尽管有这么多理论上的缺陷,但是由于10ms运算间隙时间极短且X轴方向上走的较慢,实际走的圆非常的光滑接近完美的圆。
大家看完此文应该可以完成很多曲线的编程画自己想画的图形了,但是根据函数的复杂性和求导的难度使得编程有难易程度的区别.
东土科技申请设备空间圆弧轨迹的规划方法及装置专利,技术方案适合PLCOpen的三种圆弧轨迹规划模式
金融界2024年2月8日消息,据国家知识产权局公告,北京东土科技股份有限公司申请一项名为“一种设备空间圆弧轨迹的规划方法及装置“,公开号CN117506915A,申请日期为2023年11月。
专利摘要显示,本发明实施例提供了一种设备空间圆弧轨迹的规划方法及装置,所述方法包括:获得所述圆弧的规划条件,所述规划条件至少包括圆弧的起始点和终点的世界坐标、圆弧的规划模式和对应的辅助条件,规划模式包括下列之一:边界模式、圆心模式和半径模式;根据规划条件,获得从圆心坐标系到世界坐标系的齐次转换矩阵、圆弧的半径和转角,圆心坐标系的原点为圆弧的圆心,两个方向在圆弧平面上,另外一个方向为圆弧平面的法向方向;根据圆弧的采样位移、半径和转角,获得圆弧的轨迹点在圆心坐标系中的坐标,并结合齐次转换矩阵获得圆弧轨迹点的世界坐标。本发明实施例的技术方案适合PLCOpen的三种圆弧轨迹规划模式,通用性强,可广泛应用于运动控制领域。
本文源自金融界
相关问答
西门子1500plc如何做圆弧插补?
G02/G03XYIJ圆弧和终点G02/G03CRXY半径和终点G02/G03ARXY张角和终点G02/G03ARIJ张角和圆心G02/G03APRP极...
plc运动控制中什么叫圆弧插补。什么叫线性插补,他们有什么用?
插补功能应该值得是直线插补和圆弧插补数控上刀具的运动控制方式圆弧插补(Circula:Interpolation)这是一种插补方式,在此方式中,根据两端点间的插补数字信...
数控机床上的plc编程如何去学习?
数控机床现在有很多的控制系统,比如FANUC,三菱或者西门子的数控系统,所以你要学习数控机床中的PLC编程,首先你要确定一个品牌,然后去学习它的PLC编程知识!...数...
1200plc可以实现直线插补和圆弧插补吗?
是的,1200plc可以实现直线插补和圆弧插补。直线插补可以通过指定起始点和终点的坐标来实现,而圆弧插补可以通过指定圆心、半径和起始角度等参数来实现。这些功...
欧姆龙PLC是否有直线和圆弧插补指令?
欧姆龙PLC具有直线和圆弧插补指令。插补指令允许PLC控制系统在多个轴上同时进行直线和圆弧插补运动。这些指令可以实现复杂的运动控制,例如机器人的路径规划和...
三菱PLC可以控制发那科伺服电机可以吗,能做圆弧插补吗?
能够控制,但是你要做圆弧插补的话,需要使用特殊模块FX2N-20GM,可以实现两轴直线插补和圆弧插补。但是20GM的编程不是很简单,包括我也是只是听说,没有用过。P...
西门子PLC伺服电机插补如何编程?
西门子PLC中带直线插补和圆弧插补的定位模块有FM357-2.它可以通过数控G代码插补指令来编写运动程序。在PLC的CPU中通过调用功能块来启动含有插补指令的运动程...
movec指令怎么使用?
比如:三菱PLC梯形图中MOVMOVK3K1Y0;MOVK3K1Y0的意思是将常数3传送到Y0起的四个位存储。即Y0、Y1、Y2、Y3,那么3存于其中时,Y3=OFF、Y2=ON、Y1=O...
求教!西门子数控车床基本编程代码?
圆弧插补指令G02/G03圆弧插补指令命令刀具在指定平面内按给定的F进给速度作圆弧运动,切削出圆弧轮廓。圆弧插补的顺逆可按图4—19给出的方向判断:沿圆弧所在...
三菱1s能做圆弧插补吗?
三菱1s控制器可以进行圆弧插补,因为它具有高精度、高速度的控制能力,能够精准计算和控制机床的运动轨迹和速度,实现各种复杂的曲线运动。此外,三菱1s控制器...