理论教育 运用高等数学功能块实现PID控制:优化方案

运用高等数学功能块实现PID控制:优化方案

时间:2023-07-01 理论教育 版权反馈
【摘要】:图3-72所示就是运用微分、积分功能块实现PID控制的算法框图。以下先介绍这两个功能块,最后再介绍怎样调用它,去实现PID控制的程序。LM机称TM为迭代步长,实际是微分作用系数。增大TM值,将减少微分值。节3位调用微分功能块,以产生合适幅值的微分输出。图3-76为执行程序后的sinA及dOut的图形显示,是使用PowerPro的视图监视的。表3-15所示为积分运算功能块INTEGRAL的参数说明。图3-79中节1为生成时钟脉冲。节2为生成正弦信号sinA。

运用高等数学功能块实现PID控制:优化方案

LM机有高等数学运算功能块,如微分、积分功能块。图3-72所示就是运用微分、积分功能块实现PID控制的算法框图。尽管它也是数字微分、积分,但用它进行PID运算,比PID框图算法要简单得多。

这里要用到微分、积分功能块。以下先介绍这两个功能块,最后再介绍怎样调用它,去实现PID控制的程序。

1.微分功能块

图3-73所示的为微分运算功能块DERIVATIVE。表3-14所示为微分运算功能块DERIVA-TIVE的参数说明。

978-7-111-39745-8-Chapter04-127.jpg

图3-72 运用微分、积分功能块实现PID控制的算法框图

978-7-111-39745-8-Chapter04-128.jpg

图3-73 微分运算功能块DERIVATIVE

表3-14 微分运算功能块DERIVATIVE的参数说明

978-7-111-39745-8-Chapter04-129.jpg

而它的实际计算值是用4个采集周期(当前周期、前一周期、再前一周期、再再前一周期)输入。用它们之间的差,做加权平均后得到的。其运算公式为

978-7-111-39745-8-Chapter04-130.jpg

式中,INk)为当前周期输入;INk-1)为前一周期输入;INk-2)为再前一周期输入;INk-3)为再再前一周期输入。LM机称TM为迭代步长,实际是微分作用系数。可按要求,不同周期设不同的值。增大TM值,将减少微分值。

以下为它的所使用的变量声明:

978-7-111-39745-8-Chapter04-131.jpg

以下为它的计算ST语言程序:

978-7-111-39745-8-Chapter04-132.jpg

图3-74所示为它的计算LD语言程序要点(不包含复位部分)。

图3-74中节1,按微分公式进行微分计算。节2,依次传递数据,把不同周期的数据存储于不同的单元中。

图3-75所示为微分功能块调用的程序实例。图中假设输入信号为正弦函数(sinA)。而微分输出为“dOut”。

图3-75中节1为生成时钟脉冲。该图程序生成的脉冲时间间隔为100ms。节2为生成正弦信号sinA。节3位调用微分功能块,以产生合适幅值的微分输出。

图3-76为执行程序后的sinA及dOut的图形显示,是使用PowerPro的视图监视的。可知,输入为正弦函数,微分后的结果与数学分析的结果一样,也是余弦函数。

2.积分功能块

图3-77所示为积分运算功能块INTEGRAL。表3-15所示为积分运算功能块INTEGRAL的参数说明。

978-7-111-39745-8-Chapter04-133.jpg

图3-74 和利时LM机微分功能块LD语言程序要点(不包含复位部分)

978-7-111-39745-8-Chapter04-134.jpg

图3-75 微分功能块调用程序实例(www.daowen.com)

978-7-111-39745-8-Chapter04-135.jpg

图3-76 微分功能块调用结果图形显示

978-7-111-39745-8-Chapter04-136.jpgsinA(正弦函数);978-7-111-39745-8-Chapter04-137.jpgdOut(余弦函数)

注:本图只是示出变化趋势,横坐标为时间轴,坐标单位未标明。

表3-15 积分运算功能块INTEGRAL的参数说明

978-7-111-39745-8-Chapter04-138.jpg

978-7-111-39745-8-Chapter04-139.jpg

积分实际是输出值的加权累加。其运算公式为

OUT(k)=OUT(k-1)+TM·IN(k-1)

其中,IN(k-1)和IN(k)为连续两次输入。TM为迭代步长,实际是积分系数。增大TM值,将增大积分值。

以下为它的所使用的变量声明:

978-7-111-39745-8-Chapter04-140.jpg

图3-77 积分运算功能块INTEGRAL

978-7-111-39745-8-Chapter04-141.jpg

图3-78所示为它的计算LD语言程序要点(不包含复位部分)。

图3-78仅一节程序,较简单,就是计算、赋值,生成输出。

图3-79所示为积分功能块调用的程序实例。图中假设输入信号为正弦函数(sinA),而积分输出为“iOut”。

978-7-111-39745-8-Chapter04-142.jpg

图3-78 积分计算LD语言程序要点(不包含复位部分)

978-7-111-39745-8-Chapter04-143.jpg

图3-79 积分功能块调用的程序实例

978-7-111-39745-8-Chapter04-144.jpg

图3-80 执行程序后的sinA及iOut的图形显示

978-7-111-39745-8-Chapter04-145.jpgsinA(正弦函数);978-7-111-39745-8-Chapter04-146.jpgiOut(余弦函数)

注:本图只是示出变化趋势,横坐标为时间轴,坐标单位未标明。

图3-79中节1为生成时钟脉冲。该图程序生成的脉冲时间间隔为100ms。节2为生成正弦信号sinA。节3位调用积分功能块,以产生积分输出。图3-80所示为执行程序后的sinA及iOut的图形,是使用PowerPro的视图监视的。可知,输入为正弦函数,积分后的结果与数学分析的结果一样,也是余弦函数,只是有积分初值的影响曲线稍上抬。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈