技术论坛

 回复:斜坡函数(附件是程序)

返回主题列表
作者 主题
宁超
至圣

经验值:11563
发帖数:1009
精华帖:39
楼主    2017-11-01 21:02:37
主题:斜坡函数(附件是程序) 精华帖  精编帖 

  1. 比如大功率的电机的速度设定,不允许速度从0%直接上升到80%,需要有个斜坡,比如3%每秒的速度上升


  2. 比如大口径的阀门,不允许打开和关闭的速度太快。造成对总管的压力突变或者水锤。



  3. rate.rar

    这个时候你就可以使用rate或者ramp功能。


zhangli0
至圣

经验值:48087
发帖数:17127
精华帖:63
2楼    2017-11-01 22:00:05
精华帖  精编帖  主题:回复:斜坡函数(附件是程序)

我是这样做:

1、客户自己定义变化范围LLimit~HLimit默认是0~100%,以及变化需要的时间T。

2、用中断块,比如ob35,周期是100ms,将1转换成一个扫描周期允许的变化量:deta=(HLimit-LLimit)/T/10.0

3、正常控制输出的变化量sp以及实际输出值out,如果sp不在范围内,则sp为极限值,否则sp就是控制的输出值,abs(out-sp)<deta,则输出值不变化,否则如果out>sp,(需要减小)则out=out-deta;如果out<sp,(需要增大)则out=out+deta。

这样即实现了斜坡又保护了设备不会因为频繁动作烧毁。

活到老,学到老!为了生活学习吧!
宁超
至圣

经验值:11563
发帖数:1009
精华帖:39
4楼    2017-11-02 08:17:35
精编帖  主题:回复:斜坡函数(附件是程序)

看懂了。也想过这个问题。

我当时考虑的主要是操作员的内部设定值斜坡,操作输入值一般很少变化。

如果设定值来自外部的PID控制器的话,PID有相同的deadband感觉功能就重复了。

但是如果来自第三方的控制速度给定的话,这样的我一般都做了Lag或者Smooth让它平滑了一下。

Zane
版主

经验值:85161
发帖数:21047
精华帖:399
6楼    2017-11-02 08:30:51
精编帖  主题:回复:斜坡函数(附件是程序)

 封精是必须的,但这不是最佳的解决方案。


我讲过,Y=Y+A是最简单的斜坡函数

Zane 注册自动化系统工程师 Always save before download
宁超
至圣

经验值:11563
发帖数:1009
精华帖:39
7楼    2017-11-02 08:35:33
精编帖  主题:回复:斜坡函数(附件是程序)

原理确实就是这样的,不过是因为加了一个时间因素,比如%/s ,%/min,%/hour,才导致程序变大了一些

我们有的设备过滤使用压力PID来做的,斜坡时间大概是24小时,所以要可以切换时间单位。

Zane
版主

经验值:85161
发帖数:21047
精华帖:399
8楼    2017-11-02 08:50:13
精编帖  主题:回复:斜坡函数(附件是程序)

用增量式算法,可以不必考虑时间的单位的转换,PLC处理5-10毫秒级的时间间隔是没有压力的。


楼主的程序只能在中断中调用,建议做成OB1和定时中断通用的

Zane 注册自动化系统工程师 Always save before download
宁超
至圣

经验值:11563
发帖数:1009
精华帖:39
11楼    2017-11-02 09:06:10
精编帖  主题:回复:斜坡函数(附件是程序)

所以我才问了那个“请问廖老师..."开头的那个帖子,关于OB1和OB35调用程序的问题,现在决定都用OB35调用了。因为这样跟计时相关的程序都变的很简单了。

刚刚入门
至圣

经验值:12790
发帖数:2022
精华帖:23
14楼    2017-11-02 10:43:49
精编帖  主题:回复:斜坡函数(附件是程序)

西门子也提供了这种例程,思路是每个扫描周期计算给定值,大同小异吧!全球技术资源搜索条目ID:45045947的文档。

您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。