研选课堂
HOME
研选课堂
正文内容
plc画圆怎么编程 PLC画圆很难吗?其实,只要有方法,这都是浮云
发布时间 : 2024-11-25
作者 : 小编
访问数量 : 23
扫码分享至微信

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轴方向上走的较慢,实际走的圆非常的光滑接近完美的圆。

大家看完此文应该可以完成很多曲线的编程画自己想画的图形了,但是根据函数的复杂性和求导的难度使得编程有难易程度的区别.

如何用西门子PLC和上位机实现自动画圆?

【导读】用S7-200SMART和博途WinCC实现自动画圆。

需求分析

设计一个画圆程序,即求圆周上的点的坐标值,根据求得的坐标值绘制圆形,并在上位机上动态显示绘制过程。

功能设计

根据以上需求进行如下设计:

1.启动Start按钮按下,开始绘制,利用定时中断,每隔100ms计算一次坐标值。

2.把坐标值保存为历史记录,并作为f(x)趋势视图的数据源,在趋势视图中动态显示画圆过程。

3.清除Clear按钮按下,清除趋势视图中已经绘制的图形。

4.再次按下启动Start按钮,将重新绘制圆形。

开发环境

硬件:SR20,6ES7 288-1SR20-0AA0。

软件:STEP 7-Micro/WIN SMART,V2.5,WinCC Professional V16。

程序设计

编写代码(LAD)。

1.编写计算坐标子程序。

由于COS和SIN指令的输入参数接受弧度值,所以需要先进行角度到弧度的转换。

2.编写定时中断子程序。

调用计算坐标子程序,角度从0°开始,每隔100ms增加1°,到达360°时(一周),则复位为0°,重新计算。

3.编写主程序。

启动按钮M0.0按下,启动100ms定时中断,调用定时中断子程序,并初始化坐标值。清除按钮M0.1按下,停止定时中断程序。

人机交互HMI设计

在WinCC Professional中设计一个人机交互画面,通过该画面进行操作和动态绘制圆形,从而得到直观的测试结果。

1.添加HMI硬件,TP700 Comfort面板。

2.建立连接。

通信驱动程序选择SIMATIC S7 200,接口选择以太网,HMI的IP地址设置为电脑的IP地址,PLC设备的IP地址设置为在线的PLC的IP地址。如果连接失败,请检查PG/PC接口设置。

3.添加变量,和PLC变量地址相对应。

4.建立数据记录。

5.设计画面。

按照上图设计,不再赘述。

6.为启动Start按钮添加事件属性。

7.为清除Clear按钮添加事件属性。

7.为f(x)趋势视图添加数据源。

关闭f(x)趋势图控件中的工具栏、状态栏和网格线等。

系统测试

在TIA Portal WinCC Professional中启动运行系统。

按下启动Start按钮,开始圆形绘制,按下清除Clear按钮,清除趋势视图中已经绘制的图形。

相关问答

plc怎么用xy轴画圆弧?

关于这个问题,要使用PLC控制XY轴画圆弧,需要遵循以下步骤:1.确定圆弧的参数,包括圆心坐标、半径、起始角度和终止角度。2.将XY轴移动到圆弧的起始点。3.计...

西门子plc怎么让伺服电机进行圆形运动?

西门子PLC可以通过以下步骤来让伺服电机进行圆形运动:1.首先,确保PLC与伺服电机之间的通信连接正常,确保PLC能够控制伺服电机。2.在PLC的编程软件中,使用相...

PLC怎么控制两个伺服驱动器运行圆弧,用的三菱q系列的plc,做...

2000元买音箱,苹果HomePod2代对比JBL音乐世家200该怎么选?评论6即将面世小米产品盘点小折叠新机、手环大提升评论5小米MIXFlip配置全面汇总:不做美丽小...

CNC怎么手动编写铣平面程序-ZOL问答

aqiang1168床编程与操作4.1数控车床简介4.1.1数控车床概述数控车床作为当今使用最广泛的数控机床之一,主要用于加工轴类、盘套类等回转体零件,能够通过程...

求教!西门子数控车床基本编程代码?

字...⑵SINUMERIK802D系统该系统属于中低档系统,其特点是:全数字驱动,中文系统,结构简单(通过PROFIBUS连接系统面板、I/O模块和伺服驱动系统),调试方便。具...

三菱PLC怎样控制伺服电机?

三菱PLC可以通过模拟输出模块(例如AD61)来控制伺服电机。下面是控制伺服电机的基本流程:1.使用三菱伺服系统的配置软件完整配置伺服电机控制器。将PLC与伺服...

zoom垃圾压缩车面板操作方法?

在检查调整等不得已情况下,必须停止发动机,拔开钥匙,随身带好再进入。发动机动作时,由于误操作等原因,会令装置不经意动作,以制造成夹住,卷入的危险。须停...

PLC与运动控制器有什么区别?

PLC和运动控制器是工业控制领域常见的控制器,二者的使用既有区别,也有相同点。PLC全称为可编程逻辑控制器,广泛应用在工业自动化控制领域,是专门为复杂工业...P...

三菱PLC的定位模块上的点是怎么定义到PLC上的?

[回答]◇控制轴数:2轴联动,2轴独立◇插补功能:2轴线性插补,2轴圆弧插补◇A1SD75系列组件表现了三菱在制造和设计CNC,变频调器,伺服系统和PLC诸方面的综合...

对程序设计方法的看法

已跟谢先生说了,要写个对于输入法看法的帖子,现在就算完成任务吧。关于汉字编码的“学术”问题,不是这篇文字的考虑思想,汉字部件的定义、汉字的拆...

 民盟章程  日本基恩士 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部