设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
Beckhoff TwinCAT圆形轨迹的算法及程序!
返回列表
发新帖
[西门子]
Beckhoff TwinCAT圆形轨迹的算法及程序!
[复制链接]
50057
|
0
|
2024-1-27 09:17:30
|
显示全部楼层
|
阅读模式
前言:在自动化控制领域,提到算法控制,数学一直是我认为非常神奇的学科,上学期间不知数学有何用,甚至觉得数学专业连工作都找不到,才知道自己原来的认知简直太渺小了,数学岂止是强大,它一直在改变世界。可见其重要性。针对倍福TwinCAT控制器,其编程软件自带圆孤插补指令,最近在实际项目应用中经验总结分享给大家。
01
软件环境
1. 操作系统
Windows 10 专业版 64位
2. 上位机软件
TwinCAT HMI
3. 编程软件
TwinCAT V3.1.4024.47中文版
02
项目分绍
1. 该项目是高端座舱市场信息娱乐系统的主机产品提供给BMW高配机型,一台8工位转盘设备。各工位主要组成部分:上下料、肖根点胶、组装、WEBER螺丝机等。
03走圆轨迹算法
1. Beckhoff TwinCAT系列PLC没有采用圆弧插补功能,所以需要自己根据算法进行计算后分别驱动X轴和Y轴的移动从而来实现画圆功能,要驱动XY轴画圆,可采用极限逼近法,把画圆弧变成画线段,如下图所示左侧为六等分,角度a=30°,右侧为十二等分,角度a=15°。
从上图中可以看出,当等边多边形的边越多时,则多边形的轨迹就越和圆相近,所以当角度a足够小时,则得到的多边形轨迹就越与圆接近。根据以上分析需要完成画圆功能,我们需要知道“圆心坐标值”、“圆的半径”、“画圆的速度”,然后根据分为三部分来实现:
1、画笔移动到圆上
把XY轴分别回原点,回原点后的位置默认为XY平面坐标的原点,然后由原点移动到圆心坐标,如下图所示1#点为圆心,2#点为圆上点。
假设1#点的坐标为(X1,Y1),速度为V,则X轴移动的距离为X1,Y轴移动的距离为Y1。根据勾股定理可计算出原点到圆心的距离“Y(0→1)”、X轴移动速度“VXaxis”和Y轴移动速度“VYaxis” ,计算公式如下所示:
当画笔到达1#点后,然后Y轴不动,X轴以V的速度移动半径R的距离到达圆上2#点位置,假2#点的坐标为(X2,Y2)
2、画笔开始画圆
画笔从2#点位置开始移动画圆,假设下个圆上的点为3#点,坐标为(X3,Y3),从圆心到3#点和从圆心到2#点的角度为a,如下图所示:
根据三角函数可计算出4#点的坐标(X4,Y4)的值分别为:
X4=Cos(2a)*R+X1,Y4=Sin(2a)*R+Y1
根据勾股定理可计算出XY轴要移动的距离 “Y(3→4)”的值。X轴移动速度“VXaxis”和Y轴移动速度“VYaxis” ,计算公式如下所示:
注:此时X3和Y3为X轴和Y轴的当前位置,X4和Y4为X轴和Y轴要移动的目标位置,速度需要取绝对值。
依次下去,每走完一次后,角度自加一次,当角度值大于360°时,则认为画圆完成。
video:
https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_3133899767056580610
04PLC程序
欢迎在评论区留言分享。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
anten
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』