研选课堂
HOME
研选课堂
正文内容
plc编程pid编程详解 「百说不如一练」如何自己动手写一个PID控制算法?
发布时间 : 2024-11-23
作者 : 小编
访问数量 : 23
扫码分享至微信

「百说不如一练」如何自己动手写一个PID控制算法?

前言

一般来说,各家品牌的PLC都是自带PID功能的,直接调用即可。要求不高的调节场合,直接使用默认参数即可。有些控制要求较高的场合,除了耐心也要讲究一些技巧,不过学会PID通用调试方法,什么控制器都不怕!当然也可以通过下面的(模型+动态图)更直观的学习PID控制。西门子PLC有三种PID功能,可以参考PID功能选型以及故障处理。不过今天重点来说明下,如何自己动手做一个PID控制算法:根据PID的通用算法公式分别用C语言和梯形图来编程实现。(以下图片源自网络)

一、PID控制算法公式

二、C语言程序

直接上C语言代码:

三、梯形图程序

再上PLC梯形图:

其实根据PID算法公式,实现的方法有很多,可以用各种不同的编程语言来实现,欢迎朋友们留言说说你们是如何实现的?

你了解怎么使用西门子plc进行PID编程吗?

1.注意信号区分

注意区分输入端接的是电压信号还是电流信号;输出端是电流信号还是电压信号。在模拟模块上不同信号下的接线方式。

2.了解信号元件

如使用温度变送器,要了解温度变送器测量范围,如0~100℃;输出电流范围4~20mA;分度号是什么,如PT100;接线原理图等。相关输入元件;输出元件在模拟模块上的接线方式。其他如工程要求的精度是多少等。

3.PID设定值

模拟量值和A/D转换值的转换

假设模拟量的标准电信号是A0—Am(如:4—20mA),A/D转换后数值为D0—Dm(如:6400—32000),设模拟量的标准电信号是A,A/D转换后的相应数值为D,由于是线性关系,函数关系A=f(D)可以表示为数学方程:

A=(D-D0)×(Am-A0)/(Dm-D0)+A0。

根据该方程式,可以方便地根据D值计算出A值。将该方程式逆变换,得出函数关系D=f(A)可以表示为数学方程:

D=(A-A0)×(Dm-D0)/(Am-A0)+D0。

具体举一个实例,以S7-200和4—20mA为例,经A/D转换后,我们得到的数值是6400—32000,即A0=4,Am=20,D0=6400,Dm=32000,代入公式,得出:

A=(D-6400)×(20-4)/(32000-6400)+4

假设该模拟量与AIW0对应,则当AIW0的值为12800时,相应的模拟电信号是6400×16/25600+4=8mA。

又如,某温度传感器,-10—60℃与4—20mA相对应,以T表示温度值,AIW0为PLC模拟量采样值,则根据上式直接代入得出:

T=70×(AIW0-6400)/25600-10

可以用T 直接显示温度值。

模拟量值和A/D转换值的转换理解起来比较困难,该段多读几遍,结合所举例子,就会理解。为了让您方便地理解,我们再举一个例子:

某压力变送器,当压力达到满量程5MPa时,压力变送器的输出电流是20mA,AIW0的数值是32000。可见,每毫安对应的A/D值为32000/20,测得当压力为0.1MPa时,压力变送器的电流应为4mA,A/D值为(32000/20)×4=6400。

由此得出,AIW0的数值转换为实际压力值(单位为KPa)的计算公式为:

VW0的值=(AIW0的值-6400)(5000-100)/(32000-6400)+100(单位:KPa)

假定我们将控制温度定位23.5℃;以单极性为例,首先应确定输入信号是0~10V电压信号还是4~20mA电流信号,这在PID设定值中非常重要。

如是0~10V电压输入信号对应0~32000,温度范围0~100℃,设定值为可直接算出:VD204=23.5/(100-0)=0.235;

若是电流4~20mA,其对应数值应为6400~32000,温度范围0~100℃,则设定值应为0.388。

原因:模拟模块中0~32000对应0~20mA;其中6400~32000对应4~20mA对应0~100℃;这就必须进行相关的计算,23.5℃电流计算方式:

(20-4):(100-0)=(X-4):23.5;

解方程:X=7.76(mA)。

设定值:VD204=7.76/20=0.388

4.PID输出值

以单极性为例,应确定输出信号是0~10V电压信号还是4~20mA电流信号对应着0~32000

若是输出信号AQW0对应电压信号,比如0~10V,则AQW0=(实数VD208*32000在转化成整数)即可;

若是输出信号AQW0对应电流信号,比如4~20mA,则AQW0=(实数VD208*32000在转化成整数+6400)。

5.PID恒温控制

通过上机实验可知:PID恒温控制是围绕着设定值进行调节的。若设定温度为23.5℃;当温度低于设定值时,加温蒸汽调节阀始终处于全部打开状态,;当温度达到23.5℃,加温用的蒸汽调节阀开始逐渐关闭,在关闭过程中,温度有可能仍在渐渐上升,温度偏离越大,关闭速度越快;知道全部关闭为止;当温度再次低于设定值时,加温蒸汽调节阀则会逐渐打开,打开速度取决于温度偏离值的大小,偏离越大,打开速度越快;直到温度再次达到设定值。若温度长时间未达到设定值,调节功能会将调节阀全部打开,这就是我所观察到的PID恒温控制情况。所以,我们可以根据实控情况进行必要的编程,有效的利用低于设定值时PID控制时段;切断高于设定值部分的PID控制,在温度高于设定值后,即可根据生产要求干脆部分或全部关闭加温阀。以防温度上升过高。来求得优越的温控效果。

相关问答

pid指令详解?

PID指令是西门子plc中常用的一个控制指令,用于实现闭环控制。其中,“P”代表比例控制,即根据误差大小进行控制;“I”代表积分控制,用于消除稳态误差;“D...P...

plc控制变频器pid参数设置?

变频调速恒压供水变频器参数设置:1、系统的水压反馈信号P2,接到PLC,2、系统启动后,PLC比较P和P2,经过PID后得到P1,P1送至变频器,同时PLC的DO控制...

三菱pid指令详解?

三菱PLC的PID指令如下:1、对于温度系统:P(%)20--60,I(分)3--10,D(分)0.5--32、对于流量系统:P(%)40--100,I(分)0.1--13、对于压力系统:P(%...

欧姆龙PLCPID指令怎么使用?

欧姆龙PLC中使用PID指令需要首先定义PID控制器的参数,如比例增益、积分时间和微分时间。然后,在PLC程序中调用PID指令,将输入信号、目标值和输出信号连接到PID...

汇川plc的pid讲解?

您好,汇川PLC的PID控制是一种常用的控制算法,用于实现自动化控制系统中的闭环控制。PID是Proportional-Integral-Derivative的缩写,分别代表了比例、积分和微...

s7-1500pid模块使用方法?

使用方法:1.确定控制目标:首先确定需要控制的目标值,例如温度、速度或位置。2.设定PID参数:根据实际情况设定PID的比例系数Kp、积分系数Ki和微分系数Kd。...

PID怎么控制温度我们要设计一个恒温控制的装置,但是对PID的...

[最佳回答]没有一种控制算法比PID调节规律更有效、更方便的了.现在一些时髦点的调节器基本源自PID.甚至可以这样说:PID调节器是其它控制调节算法的妈.为什么PI...

PLC里的PID是什么意思有什么作用?详细一点谢谢入门者

[最佳回答]在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制的PID控制器(亦称PID调节器)是应用最为广泛的一种自动控制器。比例调节作用:是按比例反...

PLC-200是如何实现串级的PID调节?

串级控制是工业控制中常用的控制方法.下面分级说明:第一级:例如:阀门控制流量,但是这个阀门也是控制浓度的执行器.第一级控制,当然是按阀门直接控制流量了...

三菱PLCPID控制?

三菱PLC可以通过PID指令来实现PID控制。PID控制是一种常用的闭环控制方法,可以根据系统的反馈信号来调整控制器的输出,以达到控制目标。在三菱PLC中,可以使用P...

 台风桑达  永亨织带 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部