三菱PLC中实现简单PID温度控制(不使用PIC自带PID命令)

一、PID的基本概念

首先在编程时要了解PID的基本概念才可以编程下面是一些PID的基本概念。

PID即:Proportional(比例)、Integral(积分)、Differential(微分)的缩写。顾名思义,PID控制算法是结合比例、积分和微分三种环节于一体的控制算法,它是连续系统中技术最为成熟、应用最为广泛的一种控制算法,PID控制的实质就是根据输入的偏差值,按照比例、积分、微分的函数关系进行运算,运算结果用以控制输出。 

在工业过程中,连续控制系统的理想PID控制规律为:    

u(t)=KP​∗e(t)+KI​∗∫e(t)+KD​∗dtde(t)​  

式中,

Kp——比例增益,Kp与比例度成倒数关系; 

KI——积分常数; 

KD——微分常数; 

u(t)——PID控制器的输出信号; 

e(t)——给定值r(t)与测量值之差。 

∫e(t)  ——累计误差。

dtde(t)  ——误差变化率

PID的公式有好几种对于更多的公式以及更多关于公式的知识大家可以去以下篇博客中自行了解。

PID公式通俗理解_pid公式字母的意义-CSDN博客

PID算法(位置式pid算法和增量式pid算法)_增量式pid和位置式pid的公式-CSDN博客

二、PID的闭环控制

PID控制是一种常见的反馈控制算法,所以PID中一定要有反馈。那反馈是什么呢?

这里的反馈就是各种传感器传输回来的值,我们把这个值传到PLC中进行PID计算在进行输出控制让值稳定在我们需要的值。

上图为PID的闭环控制的流程图。

三、PLC编程(温度控制)

上面我对于PID已经有了初步的认识,那么现在我们开始PLC的编程吧。

对于上面那么长的公式大家是不是感觉无处下手。

我们可以把上面的公式进行分解分步的实现就会简单很多。

首先PID需要设置一个周期,如果一直进行PID计算会让PLC负担会很多并且一般没有必要一直进行PID计算。

这里改变定时器的值就可以控制PID运算的次数。

由于我们要进行多次运算,所以运算前要把PLC中寄存器中的值清空。

后面的计算数据是浮点型(就是有小数的)要占两位寄存器还要设置不是浮点型数据为浮点型。

这里我使用的温度仪表中读取的当前温度值与设定值不是浮点型所以进行转换。

下面的程序先是将误差值赋予上一时刻值是用于后面计算误差变化率用的。

然后就进入PID的总运算了。

最开始是进行误差值的计算和比例系数,积分时间系数,微分时间系数的写入。(这里的比例系数,积分时间系数,微分时间系数要自行对于实际情况进行设置)

比例的公式是KP​∗e(t)所以把误差值和比例系数相乘得出比例运果。

把误差值累加起来获得累计误差,在把累计误差与积分时间系数相乘得出积分运算成果。

把误差值和上一时刻值相减得到误差变化率。下面的程序是让每一个周期清空上一时刻值并重新赋值。

在按上面一样的办法,由微分时间系数乘误差变化率得出一个中间量。

在将上面算出来的中间值与比例系数相乘得出微分结果。

最后把所有值相加并且将PID转换成整数类型。

以上PID的总运算就结束了。

下面是PID的上限和下限控制。

最后就是使用PWM输出结果或自己用定时器打一个输出程序。

这是直接用PWM命令的。

这是用定时器的。

四、实例展示

上面是接线图。

以上为实物图。

以下是烧水到90度恒温的演示视频。

烧水

  • 12
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值