「百说不如一练」如何自己动手写一个PID控制算法?
前言
一般来说,各家品牌的PLC都是自带PID功能的,直接调用即可。要求不高的调节场合,直接使用默认参数即可。有些控制要求较高的场合,除了耐心也要讲究一些技巧,不过学会PID通用调试方法,什么控制器都不怕!当然也可以通过下面的(模型+动态图)更直观的学习PID控制。西门子PLC有三种PID功能,可以参考PID功能选型以及故障处理。不过今天重点来说明下,如何自己动手做一个PID控制算法:根据PID的通用算法公式分别用C语言和梯形图来编程实现。(以下图片源自网络)
一、PID控制算法公式
二、C语言程序
直接上C语言代码:
三、梯形图程序
再上PLC梯形图:
其实根据PID算法公式,实现的方法有很多,可以用各种不同的编程语言来实现,欢迎朋友们留言说说你们是如何实现的?
PLC编程过程控制PID指令的使用方式
使用PLC稳定控制一个连续的对象时,典型的控制方式就是使用PID算法实现控制过程。PID是典型的单输入单输出 控制手段,用于执行根据输入的变化量而改变输出值的控制情况。在使用的过程中,可以依照不同的工艺要求,对PID进行叠加、嵌套等处理。
PID指令使用方法
执行对目标值S1、测量值S2、参数S3~S3+6进行设定的程序后,每隔采样时间S3将运算结 果(MV)保存到输出值D中。
PID指令使用方法
S1:保存目标值(SV)的数据寄存器编号
设置为PID运行的控制目标值(控制过程需要稳定的目标值)。PID指令运行过程中,不修改其变量内部数据。
S2:保存测量值(PV)的数据寄存器编号
设置为PID运行过程中的过程值(控制过程反馈的实时状态值),如恒温控制系统,系统的测量温度值就为过程值,应映射设置到S2。
S3:保存参数的数据寄存器编号
PID运行的过程参数。PLC的PID算法可以配置为自整定方式运行,集成了2种自整定方式。分别为:
1、 极限循环法(占用从S3开始的29个连续地址)
2、阶跃响应法的(占用从S3开始的25个连续地址)
D:保存输出值(MV)的数据寄存器编号
此变量为PID运行过程中,通过反馈状态计算后的控制输出值。
参数说明
PID运行过程参数说明,如下表格所示。其中最最关键的几个参数为:
PID整定过程
经验原则(参考):
1、先比例,后积分,再微分
2、参数从小到大设置
3、比例超调后,加积分
4、曲线振荡频繁,则加比例
5、大曲线振荡,则减比例
6、曲线偏离回复慢,则降积分
7、曲线波动周期长,则加积分
使用过程中问题点
在设置S3~S3+29这个区域的时候,若设置为掉电保持区域,一定注意不要将D的地址设置为掉电保持区域,否则可能会出现系统抖动;若需要设置到掉电保持区域,则应在初始化的时候,对D地址的值进行复位。
(转载请注明来源函控自动化工程师头条号)
相关问答
plc能进行pid运算吗?
是的,PLC可以进行PID运算。PID是指比例、积分和微分控制,是一种经典的控制算法,在工业自动化中被广泛应用。PLC通过编程实现PID算法,能够根据输入信号和设定...
西门子PLC300的PID调节怎么编程啊?
现成的块,FB40\FB41基本上不需要编程的直接调用这个块,然后配置下即可当然在线调整参数也比较重要300的PID没有向导的S7-300无向导,直接在周期性中断OB中...
1200PLCPID调节方法?
您好!1200PLC的PID调节方法有很多种,这里我提供一种常用的方法。首先,您需要在PLC中添加一个PID指令块,然后通过调试面板进行PID参数的调节。具体步骤如下:...
关于PLC的PID应用,目标值、设定值、与输出值的关系?
PID是闭环控制系统,这个系统根据反馈的过程值来调整输出值,使过程值向目标值(设定值)靠拢。输出值是根据目标值和过程值的差值变化的,不是根据单独的目标值...
西门子plc的pid指令详解?
西门子plc的pid指令的详解,是用于实现PID控制的指令集,可以在S7-1200PLC中实现温度、压力、液位等过程控制。使用方法如下:1.配置PID控制块:在TIAPortal...
欧姆龙plcpid指令的应用?
欧姆龙PLCPID指令是一种控制指令,主要用于控制系统中的温度、压力、流量等变量,使其达到设定值。PID算法之所以被广泛应用,是因为它可以自适应地对系统进行调...
台达plc的PID指令输出MV怎么转模拟量?
PID输出的是一个模拟量值,你把输出的模拟量4-20mA或者0-10V接到变频器上不就行了,把最小频率设置为30Hz,最大频率为50Hz。可编程逻辑控制器,它采用一类可编程...
怎么实现位置式pid和增量式pid公式的程序化?
(1)位置式PID控制的输出与整个过去的状态有关,用到了误差的累加值;而增量式PID的输出只与当前拍和前两拍的误差有关,因此位置式PID控制的累积误差相对更大;...
信捷plcpid指令详解?
关于这个问题,PLCPID指令是信捷PLC的一个PID控制指令,用于实现闭环控制。具体详解如下:语法:PLCPID(P,I,D,SP,PV,MV,OUT,ENABLE,RESET)...
温控表PID调节控制与PLC温控哪个好?
一般还是直接使用温控器PID调节控制比较好,使用温控器的PID自整定,可以达到很好的温控效果。虹润的PID有用过的就说不错,智能表还可以按照工艺要求的升温曲线...