西门子PLC怎么做PID控制,PID控制原理分析及PID加热实验

在这里插入图片描述

PID 加热实验工艺:用变频器带风机往设备里吹热风,离目标温度越近,频率越低;距离目标温度差值越大,频率上升的速度越快(由 P 值决定),温度的精度由受 I 值影响(I 值也就是积分值可以消除稳态误差,从而让你精确达到想要的温度)
加热的功率与 (目标温度-当前温度)*P(比例值) 成正比

例如:目标温度 70℃,当前温度 10℃, P 值为 0.5 ,那此时的加热功率为(70-10)x0.5=30;
当当前温度加热到 50℃的时候,此时加热功率为 10;当当前温度加热到 70℃的时候,此时加热功率为 0,不加热。 当加热到 68 摄氏度的时候,此时加热功率为 1,假如冬天周围环境很冷,有一个逆向的降温功率为 1,此时加热功率刚好等于环境冷却影响,导致永远都达不到 70℃,此时需要引入 I(积分)值,来消除稳态误差。
输入量:温度(4-20ma) 0-100 摄氏度
在这里插入图片描述
1.比例常数 P 的作用
根据公式,Kpe(k),当我们将 Kp 趋于无穷大的时候,就类似一个开关的作用,用灶做比
喻,当目标值大于实际值的时候,开关打开,开始加热,当目标值小于实际值的时候,火力
断开,让他降温。但我们实际控制的火力有大小的,那么我们可以这么理解:
当差距不大的时候,Kp
e(k)较小,那么需要输出的火力较小;
当差距较大,并且温度低于目标温度的时候,那么需要输出的火力就会比较大;
当差距较小,并且温度高于目标温度的时候,那么就让输出的火力为负值(假设可以降低温
度),降低温度。
简而言之:P 是为了建立目标值和当前值的一种线性关系,当你的 P 较大的时候,你会很快
的到达目标值的附近,但是由于 P 过大,很容易就超过目标值,而超过目标值的时候,你的
P 很大,又会瞬间拉回来,但拉回来的程度会过大,也就会出现在目标值附近震荡,没办法
收敛于目标值的情况。

2.微分常数 D 的作用
在说积分常数 I 之前,要先说一下微分常数 D。
由上面的理论可以得到,在趋于目标值了之后,我们的 P 作用就不大了,并且越靠近目标值,
P 的作用越小,因为 P 太粗暴了,让整个系统都震荡了起来。
而 D 的作用,根据公式。Kd*[e(k) - e(k-1)],我们可以当从 0→目标值的时候,e(k)是在不断
减小的,此时 e(k) - e(k-1)是一个负值,再*Kd,我们可以得到,D 的作用是为了给系统一个
阻尼,并且系统变化的越快,这个阻尼也就越大,这就能抵消 P 那么粗暴的效果,让 P 温柔
一点,在变化小的时候,D 给小阻尼。在突然一个大变化的时候,阻尼就会很大, 这也就
让系统不会变化过快,从而使得系统从震荡趋于稳定。
\

3.积分常数 I 的作用
当 PD 控制了之后,整个系统就已经可以趋于平衡了,但是如果是在有负载的情况下,尤其
是电机要带动某个东西的情况下,很有可能会出现 PID 输出和消耗抵消了,从而使得系统没
有办法达到目标值,例如你的温度已经到达 95 度,你想要去 100 度,但是散热的效果和你
火力增加温度的效果抵消了,让你永远停在了 95 度,没有办法继续往上增加。
这时候就需要 I 的作用,根据公式 Ki×Σe(k),正常情况下你的系统只会受到小的扰动,但
是如果突然你的系统受到一个很大的变化,如果这时候还要积分,很有可能导致这个积出来
的值对整个系统造成比较大的问题,甚至引起系统的崩溃。
这个公式里面,就是把你之前所有的偏差进行累加,并把这个累加的值体现在输出上,这样,
如果你的温度停在了 95 度,那么你的累加值也就会越来越大,最终你的火力也会往上走,
实现温度的提升。

I 其实是对 P 的一个补充作用,但我们不能让 I 不断的累加,必须有一个累加的最大值,因
为累加过大,会让积分量太大,有可能出现一个跳变,难以控制。

叶强PLC教学
在实际的控制中,I 参数其实是有一个让系统超前的作用,而超前的作用就是与 D 相反,D
的增益起到了一个阻尼的作用,减慢你的变换,而 I 的增益起到了一个补助加火的作用,加
速了你的变换。
————————
PID 加热

  1. 支持 PID 功能的 PLC
  2. 模拟量输入(检测温度)
  3. 模拟量输出(控制变频器的转速,从而控制加热的速度)
    变频器的转速越高,风机向烘箱里吹得热越多)
  4. 明确模拟量是 4-20ma,还是 0-10V
  5. S_ITR(模拟量输入指令),S_RTI(模拟量输出指令)
  6. 变频器(用来改变风机的转速)
  7. PID,比例积分微分控制,P(比例),I(微分),D(微分)

在这里插入图片描述
PV_I:当前值(当前传感器检测到的温度 aiw16)
Setpint_R(目标值,设定值,即需要加热到多少温度)
Auto_Manual(PID 手自动模式,0 的时候为手动,1 的时候为自动)
ManualPutput(手动模式下的输出给定值,范围为 0-1)
Output(模拟量输出值 aqw16)

1.比例参数§:
比例参数反映了系统的调节灵敏度,它根据给定值与实际值的差距对系统输出进行调整。比例控制参数直接与误差成正比,当误差较大时,输出信号也会相应增大。通过调整比例参数的大小,可以改变系统的超调和稳态误差。如果比例参数过大,系统容易产生过冲现象,不稳定;如果比例参数过小,系统反应迟缓,控制精度不高。
2.积分参数(I):
积分参数主要用于消除系统的静态误差,通过累积误差并进行修正。当系统存在静态误差时,积分控制器可以在一段时间内积累误差,然后输出一个修正值来消除误差。通过调整积分参数的大小,可以改变系统的稳态误差。如果积分参数过大,系统容易产生超调现象,反而增大稳态误差;如果积分参数过小,系统的修正速度较慢,无法完全消除稳态误差。
3.微分参数(D):

微分参数主要用于消除系统的动态误差,通过根据误差变化率来修正输出信号。微分控制器可以通过在系统响应过程中观察误差的变化率,根据变化率的大小调整输出信号,从而减小超调和提高系统的稳定性。通过调整微分参数的大小,可以改变系统的响应速度和抑制振荡的能力。如果微分参数过大,系统容易产生震荡;如果微分参数过小,系统的响应速度较慢,不能有效抑制振荡。
总结起来,比例参数主要调节系统的灵敏度和响应速度,积分参数主要消除系统的稳态误差,微分参数主要抑制系统的动态误差。通过合理调节这三个参数,可以达到使系统尽快、稳定地达到设定值,并保持较小的稳态误差的目标。需要注意的是,调节 PID 参数是一个良好控制系统设计的关键环节,需要根据具体系统的特点和需求进行合理的选择和调整。

输入量:温度(4-20ma) 0-100 摄氏度
在这里插入图片描述
可以添加 PID 手动模式
在这里插入图片描述
给指令库分配的 VB 地址不能再在程序中其他地方出现
在这里插入图片描述
开启自动模式,设定目标温度为 65 摄氏度,整定 P 值与 I 值
在这里插入图片描述
一开始当前温度为 22 度的时候,监控到频率输出为 37Hz,当温度加热到 50 摄氏度的时候,
频率为 25HZ,也就是温度越高,频率越小
在这里插入图片描述
整定出 P 值和 I 值, 也可以在组态里手动给定,每个现场环境不同,就会有不同的 I 值和
P 值
在这里插入图片描述
总结:通过这个实验,不要写任何公式和算法,靠指令实现变频器根据温度自我调节加热频

  • 25
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶强讲PLC、C#上位机、视觉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值