关于流量的PID控制 点击:2334 | 回复:15



gongkongedit

    
  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2004-05-09 11:43:00
楼主
大家好,我是刚入门的小M,希望能得到各位大俠的帮助!我们控制系统中需要通过气动调节阀来控制气体流量,我们的控制系统是用采集卡和模拟量输出卡构成的计算机控制系统。我用VC编写的PID控制程序,控制周期为1s,在调试过程中我遇到了如下问题:当前采集值为1m3/h,设定目标值为1.5m3/h,我看到调节阀动了一下就不动了,当然流量也没有达到目标值。我的PID程序测试过(普通位移式PID调节),是没有问题的,我不知道问题出在什么地方,谢谢各位回复!



wuphs

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 119回
  • 年度积分:0
  • 历史总积分:187
  • 注册:2004年5月07日
发表于:2004-05-09 13:46:00
1楼
首先请问以下:阀门动了一下后处在什么位置? 1.如果是在100%的开度,则表示调节上限达不到设定值.需要重新选择调节阀. 2.如果阀门开度小于100%,则有可能的原因: (1)你的PID调节器是否设置了输出限制? (2)反馈值(采集值)4-20mA经A/D转换后的数字量与设定值的数字量的标幺化是否一样? (3)调节器的输出D/A转换的标幺化是否正确设置?

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2004-05-10 05:11:00
2楼
"标么化"是什么意思啊? 我的PID运算是是直接用模拟量来完成的,即:当前值是孔板流量计上的压差信号转换成的流量值,给定值由界面上输入流量值,PID运算的结果直接转换成4~20mA电流信号输出到阀门上。不知这要是不是不对?望指点!

wuphs

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 119回
  • 年度积分:0
  • 历史总积分:187
  • 注册:2004年5月07日
发表于:2004-05-10 11:34:00
3楼
标幺化是指一个相对的值.选定一个基准值,实际值与基准值的比值就是标幺化值. PID控制中的给定和反馈信号应该有一个同样的基准值. 比如:给定值转2MP换成数字量时对应的二进制数,假设是0FFFH,反馈的差压信号经A/D转换后的二进制数,就必须是这样的关系:当A/D转换结果是0FFFH,则对应的实际值也必须为2MP.

liuying

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 10回
  • 年度积分:0
  • 历史总积分:66
  • 注册:2003年3月05日
发表于:2004-05-10 20:07:00
4楼
谢谢回复! 我再把我的问题详细地描述一下,压差变送器测量范围:0~4KPa,输出信号:4~20mA,线性输出。如当前采集卡得到的数据对应电流为8mA,通过线性计算当前压差值为1KPa;此时目标值设为1.5KPa,同样通过线性计算得到对应电流值为10mA。我用10mA作为SetPoint,用8mA作为NextPoint,调用PIDCalc(double NextPoint)进行PID运算。 下面是我的PID运算函数 double CPID::PIDCalc(double NextPoint) { double dError,Error; Error=SetPoint-NextPoint; // 偏差 SumError+=Error; // 积分 dError=LastError-PrevError; // 当前微分 PrevError=LastError; LastError=Error; return (Proportion*Error // 比例项 +Integral*SumError // 积分项 +Derivative*dError // 微分项 ); } 因为自己是门外汉我设P=1,I=0.5,D=0;这样第一次PID运算函数 返回值为3mA,再加上原来基准值8mA,得到11mA经判断在4~20mA范围内,没有超过阀门调节器的输出范围,将11mA作为阀门的控制输出。此时阀门动了一下就不动了,压差也没有达到设定值。不知道上述操作是否正确? 解释一下,4~20mA信号转换成对应的二进制数,采集卡和模拟量输 出卡的提供的库函数自动完成。我没有直接控制流量而是控制压差 ,是因为我不是很确定如何将压差值转换成流量值。压差转换成流 量是不是用公式此计算:质量流量=流出系数*孔板截面积*Sqrt(2*密度*压差),Sqrt是开平方。

liuying

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 10回
  • 年度积分:0
  • 历史总积分:66
  • 注册:2003年3月05日
发表于:2004-05-11 11:23:00
5楼
各位大俠帮忙指点一下,我接触这东东,实在是不清楚,谢谢!

wuphs

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 119回
  • 年度积分:0
  • 历史总积分:187
  • 注册:2004年5月07日
发表于:2004-05-11 16:25:00
6楼
PID运算函数没有门题。 不清楚你的整个程序。当完整的程序似乎应该是需要反复调用PID运算函数(按你设计的控制周期1S),直到setpoint=nextpoint为止,即应该有一个循环的问题。

liuying

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 10回
  • 年度积分:0
  • 历史总积分:66
  • 注册:2003年3月05日
发表于:2004-05-11 19:31:00
7楼
我有做循环的,每个控制周期如果setpoint不等于nextpoint,则调用PIDCalc(double NextPoint)进行PID运算,输出控制值。

wuphs

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 119回
  • 年度积分:0
  • 历史总积分:187
  • 注册:2004年5月07日
发表于:2004-05-12 07:36:00
8楼
如果愿意的话,把你的完整控制方案和程序发到wu_phs@sina.com.

liuying

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 10回
  • 年度积分:0
  • 历史总积分:66
  • 注册:2003年3月05日
发表于:2004-05-13 09:48:00
9楼
谢谢,程序太大,我整理一下先!

liuying

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 10回
  • 年度积分:0
  • 历史总积分:66
  • 注册:2003年3月05日
发表于:2004-05-15 15:54:00
10楼
今天我调试系统,发现如下问题: 我们采到的压差是1kg,现在界面上输入设定值是1.5kg,这样的话,偏差是0.5,pid参数中p=0.5,经pid计算,(1.5-1)×0.5 =0.25 现在不知如何用这0.25去控制阀门。

wuphs

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 119回
  • 年度积分:0
  • 历史总积分:187
  • 注册:2004年5月07日
发表于:2004-05-17 11:00:00
11楼
实际这涉及到输出的标幺化问题. 举例说明如下:设定控制的压力范围为0---2kg,则0kg对应输出4mA,2kg对应20mA去控制电磁阀,线性改变. 现在采集量1kg对应的控制电流应该是12mA,设定与反馈信号的偏差是0.25kg,对应的控制电流应该是2mA,(0.25/2)*16 即此时输出的控制电流应该为12+2=14mA. 供参考

liuying

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 10回
  • 年度积分:0
  • 历史总积分:66
  • 注册:2003年3月05日
发表于:2004-05-17 17:09:00
12楼
对应关系为什么是线性的,有什么依据么?我们使用的阀门是气动调节阀,阀门的流量特性是对数的,阀门带有定位器。

wuphs

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 119回
  • 年度积分:0
  • 历史总积分:187
  • 注册:2004年5月07日
发表于:2004-05-18 07:42:00
13楼
你是通过压力控制流量.取线性变化是为了控制简单化,减少运算量和时间.如果采用非线性的变化关系,则你在程序中,输入和输出必须采用统一的非线性对应关系.另外,采用线性和非线性的改变关系时,则控制输出的动态过渡过程不一样.

有所为

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 1回
  • 年度积分:0
  • 历史总积分:7
  • 注册:2004年4月12日
发表于:2004-05-18 18:43:00
14楼
我很想知道wuphs老师的联系方式,可以告诉我吗?

wuphs

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 119回
  • 年度积分:0
  • 历史总积分:187
  • 注册:2004年5月07日
发表于:2004-05-19 08:06:00
15楼
wuphs的e_mail:wuphs@sina.com 欢迎联系讨论问题.

热门招聘
相关主题

官方公众号

智造工程师