打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
西门子SCL编程实例——斜坡发生器(基于定时器)
userphoto

2022.09.22 广东

关注

工业项目中有时候需要使用斜坡发生器。斜坡发生器能控制输出值经过一个平滑的上升或下降的变化过程然后再达到目标值,从而避免输出值由当前值直接跃变到目标值。某些工业过程的控制工艺不允许被控值的直接跃变。比如:工艺要求电机电流有一个平滑的增加过程,而不是直接跃变到一个比较大的目标电流;或者希望某管路的压力有一个平滑的增加过程,而不是直接加压到目标压力。这些情况下,都需要使用斜坡发生器。

西门子PLC实现斜坡发生器的一种方案是使用循环中断组织块,通过周期性的执行使被控制值平滑变化。该方案的优点是控制精度高,缺点是要配合组织块、数据块等,不利于程序的模块化设计。

另一个方案是使用定时器来实现斜坡发生器,它的优点是可以把斜坡功能集成到一个函数块中,可反复调用,有利于程序的模块化设计。缺点是其执行受PLC扫描周期的影响,因此精度并不高。这里的精度可以简单理解为斜坡时间。比如,本来希望受控值的变化过程时长为5秒,使用该方案的最终用时会大于5秒。因此,该方案适用于对精度要求不高的场合。

今天这篇文章,我想给大家介绍第二种方案的斜坡发生器,即我写的一个基于定时器的斜坡发生器函数块-FB5008_RampGenerator。

函数块FB5008_RampGenerator可设置初始值、目标值及斜坡时间。斜坡时间的单位为秒,其内部使用延时接通定时器指令,时基为100ms。斜坡时间乘以10即为定时器的启动次数。通过计算初始值与目标值的差值,除以计时器的启动次数,即可算出每次定时器计时达到时应当增加的数值单位。

函数块FB5008_RampGenerator的输入/输出参数如下:

静态变量及临时变量参数如下:

代码如下:

接下来在OB1中调用该函数块即可,例如:

这个函数块我已经测试过了,感兴趣可以自行测试一下。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
555定时器组成的函数发生器
基于单片机设计的超声波测距系统的特点
一文教你快速搞懂 FOC ramp function 斜坡函数的作用和实现
d3.js 之增加感染力:使用转场效果
西门子S7
深入学习PROFIdrive驱动控制协议(2)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服