请问PID指令怎么使用预控值 点击:1117 | 回复:20



冬天来了

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:28帖 | 1809回
  • 年度积分:4
  • 历史总积分:15019
  • 注册:2006年2月11日
发表于:2008-08-06 10:49:59
楼主
请问PID指令怎么使用预控值,就是说可以有个预控时间,在这个时间内按预控值输出,时间到了以后,再在预控值的基础上进行PID 调节,我想问一下PID指令能不能实现这个功能,怎么实现?



mastershi

  • 精华:1帖
  • 求助:0帖
  • 帖子:2帖 | 284回
  • 年度积分:0
  • 历史总积分:546
  • 注册:2008年2月23日
发表于:2008-08-06 12:22:40
1楼

PID目前没有此功能。

不过我想可以通过流程指令来实现。

在S0流程内按预控值输出,T0时间到了,跳转到S1,走PID控制。

冬天来了

  • 精华:0帖
  • 求助:0帖
  • 帖子:28帖 | 1809回
  • 年度积分:4
  • 历史总积分:15019
  • 注册:2006年2月11日
发表于:2008-08-06 16:14:35
2楼
那走PID 时,还是从0开始啊,前面的预控值也没用 了啊,

mastershi

  • 精华:1帖
  • 求助:0帖
  • 帖子:2帖 | 284回
  • 年度积分:0
  • 历史总积分:546
  • 注册:2008年2月23日
发表于:2008-08-07 08:12:46
3楼
不是从0开始,而是依据PID的运算结果。

二十四桥明月夜

  • 精华:3帖
  • 求助:0帖
  • 帖子:114帖 | 3593回
  • 年度积分:0
  • 历史总积分:7688
  • 注册:2008年3月16日
发表于:2008-08-07 08:17:34
4楼

用个定时器,在预控时间内,PID设成手动状态,定时器到PID则设成自动状态,

是这样吧。

 

mastershi

  • 精华:1帖
  • 求助:0帖
  • 帖子:2帖 | 284回
  • 年度积分:0
  • 历史总积分:546
  • 注册:2008年2月23日
发表于:2008-08-07 09:46:09
5楼

PID没有手动、自动之分。

流程分手动、自动。

在手动流程,MOV  预设值   输出值。

在自动流程   PID  输出值。

冬天来了

  • 精华:0帖
  • 求助:0帖
  • 帖子:28帖 | 1809回
  • 年度积分:4
  • 历史总积分:15019
  • 注册:2006年2月11日
发表于:2008-08-07 15:48:42
6楼

虽然不是从零开始,但还是不行啊,

假设预控时间足够长,

那么设的预控值高了的话,那么PID就会自动调为0,

而设的预控值低了的话,PID就会自动调到最大,

 

mastershi

  • 精华:1帖
  • 求助:0帖
  • 帖子:2帖 | 284回
  • 年度积分:0
  • 历史总积分:546
  • 注册:2008年2月23日
发表于:2008-08-07 16:45:29
7楼

请问预控的目的是什么????

为何不一开始就用PID?????

或者只是为了实现一个斜坡加热?????

二十四桥明月夜

  • 精华:3帖
  • 求助:0帖
  • 帖子:114帖 | 3593回
  • 年度积分:0
  • 历史总积分:7688
  • 注册:2008年3月16日
发表于:2008-08-07 16:58:36
8楼

PID没有手动、自动之分,但回路有手动/自动,就是这个意思;

简单问题不要复杂化

冬天来了

  • 精华:0帖
  • 求助:0帖
  • 帖子:28帖 | 1809回
  • 年度积分:4
  • 历史总积分:15019
  • 注册:2006年2月11日
发表于:2008-08-12 20:18:00
9楼
回复内容:
对:mastershi 关于

请问预控的目的是什么????

为何不一开始就用PID?????

或者只是为了实现一个斜坡加热?????

 ;

 ;

内容的回复:


PID相当于实现微调,设定预控值可以使实际值迅速接近目标值,如果一开始就用PID调节,速度肯定就慢了 ,而调节过快就会造成不稳定

冬天来了

  • 精华:0帖
  • 求助:0帖
  • 帖子:28帖 | 1809回
  • 年度积分:4
  • 历史总积分:15019
  • 注册:2006年2月11日
发表于:2008-08-12 20:26:46
10楼
回复内容:
对:二十四桥明月夜 关于

PID没有手动、自动之分,但回路有手动/自动,就是这个意思;

简单问题不要复杂化

 ;

 ;


 ;


内容的回复:预控值在现场控制中 应用很广泛,我们做技术的为什么不能精益求精呢?

冬天来了

  • 精华:0帖
  • 求助:0帖
  • 帖子:28帖 | 1809回
  • 年度积分:4
  • 历史总积分:15019
  • 注册:2006年2月11日
发表于:2008-08-12 20:31:50
11楼

我觉的实现这个问题应该不难,PID的初始输出值可以随便定义的话就好多了

默言

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 51回
  • 年度积分:0
  • 历史总积分:54
  • 注册:2007年6月21日
发表于:2008-08-12 20:52:09
12楼

这个问题不是很难啊

可以把PID的输出通过周转出去啊,在你要预控值的时间里你可以把这个周转的位置放入你要写的数值即可,不过这个指令要加在PID指令之后

冬天来了

  • 精华:0帖
  • 求助:0帖
  • 帖子:28帖 | 1809回
  • 年度积分:4
  • 历史总积分:15019
  • 注册:2006年2月11日
发表于:2008-08-12 20:57:22
13楼

谢谢楼上的 ,你也是这么想的,我还没试,应该可行

冬天来了

  • 精华:0帖
  • 求助:0帖
  • 帖子:28帖 | 1809回
  • 年度积分:4
  • 历史总积分:15019
  • 注册:2006年2月11日
发表于:2008-08-23 11:47:38
14楼
引用默言 的回复内容:

这个问题不是很难啊

可以把PID的输出通过周转出去啊,在你要预控值的时间里你可以把这个周转的位置放入你要写的数值即可,不过这个指令要加在PID指令之后



还是不对啊,这和mastershi 说的一样啊

mastershi

  • 精华:1帖
  • 求助:0帖
  • 帖子:2帖 | 284回
  • 年度积分:0
  • 历史总积分:546
  • 注册:2008年2月23日
发表于:2008-08-23 12:26:02
15楼

我觉得这个问题靠PLC编程比较难以实现!!!

问题在于,如果让PID控制和预控同时进行,PID算出的结果和预控值会有很大的偏差,在切换的时候仍旧会造成扰动。

如果用程序来实现,我觉得可以做一个渐变过渡:输出值=预控值*A% +PID输出值*B%。在过渡时间内:A逐渐从100变到0,B逐渐从0变到100。

看来我们在下一个版本要考虑一下了。

谢谢冬天的建议!!!我们会努力改进的!!!

isbn22

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 26回
  • 年度积分:0
  • 历史总积分:56
  • 注册:2008年5月27日
发表于:2008-08-23 12:43:45
16楼

虽然不是从零开始,但还是不行啊,

假设预控时间足够长,

那么设的预控值高了的话,那么PID就会自动调为0,

而设的预控值低了的话,PID就会自动调到最大,”

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

如果单单是PID调节,那按照经典的PID运算公式就是:当预控值高出目标值,PID的输出值输出为0;当预控值低了,比如说接近0,那PID输出最大值。楼主说的那个“预控时间”,我在百度上搜了一下,好像没这个说法的,不知道楼主是不是自己发明滴?而且引入预控时间可能并不好,要引入这个时间你就得知道系统的能力(比如说加热能力),而且你还得估算那个时间。

如果要加快PID调节的时间,可以设置PID运算范围,小于运算范围是输出最大值的;大于预算范围是输出最小值;而在运算范围之内是PID调节的。

w99060112

  • 精华:0帖
  • 求助:0帖
  • 帖子:43帖 | 149回
  • 年度积分:0
  • 历史总积分:473
  • 注册:2003年11月19日
发表于:2008-08-31 13:57:14
17楼

比较同意isbn

PID的实际应用有很多,根据不同的控制对象而定。

带死区,积分分离, 纯滞后补偿,等等

还有位置式和增量式的分别

大鱼

  • 精华:2帖
  • 求助:0帖
  • 帖子:36帖 | 157回
  • 年度积分:0
  • 历史总积分:427
  • 注册:2007年10月16日
发表于:2008-09-08 16:44:56
18楼

在编程界面里用设置一下输出下限,试试这样应该可以解决这个问题

    系统参数   + 43 :输出下限设定值        -32767~32767

LBX112233

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 711回
  • 年度积分:209
  • 历史总积分:596
  • 注册:2012年5月10日
发表于:2019-07-03 11:20:29
19楼

看帖回复。。谢谢。。

夏日么么茶

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 243回
  • 年度积分:0
  • 历史总积分:61
  • 注册:2016年7月18日
发表于:2019-12-22 15:08:16
20楼

看帖回复,学习下 




热门招聘
相关主题

官方公众号

智造工程师