「百说不如一练」如何自己动手写一个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模拟控制来编程控制?给我个例子就好啊?
这个程序我可以给你设计,设计的思路是,在圆筒上装一个金属,用接近开关(中间可以加PID控制。把分先给我,我会和你联系。这个程序我可以给你设计,设计的思路是...
plc程序怎么实现串级控制?
回答如下:PLC程序实现串级控制的方法通常包括以下步骤:1.确定需要串级控制的设备或系统的工作流程和逻辑关系。2.根据工作流程和逻辑关系,编写PLC程序来控...
plc的pid水阀调节参数设置技巧?
plc的pid水阀调节参数的设置技巧。用一个布尔位地址:为ture(1)表示夏季,flase(0)表示冬季。布尔位可以根据你要求set/reset再用条件判断指令,为1时设定增...
西门子plc的pid指令详解?
西门子plc的pid指令的详解,是用于实现PID控制的指令集,可以在S7-1200PLC中实现温度、压力、液位等过程控制。使用方法如下:1.配置PID控制块:在TIAPortal...
西门子PLC中什么叫PID指令啊?
PID指比例积分微分,Proportion比例,Integration积分,Differentiation微分西门子PLC编程软件中有PID向导,程序中的PID程序块可利用s7-Micro/win程...
欧姆龙PLCPID指令怎么使用?
欧姆龙PLC中使用PID指令需要首先定义PID控制器的参数,如比例增益、积分时间和微分时间。然后,在PLC程序中调用PID指令,将输入信号、目标值和输出信号连接到PID...
台达plc的pid指令怎么用?
PID输出的是一个模拟量值,你把输出的模拟量4-20mA或者0-10V接到变频器上不就行了,把最小频率设置为30Hz,最大频率为50Hz。可编程逻辑控制器,它采用一类可编程...
PLC-200是如何实现串级的PID调节?
串级控制是工业控制中常用的控制方法.下面分级说明:第一级:例如:阀门控制流量,但是这个阀门也是控制浓度的执行器.第一级控制,当然是按阀门直接控制流量了...
永宏plc编程指令pid的详解?
永宏PLC编程指令PID是用于控制系统中实际物理量与理想值之间的差异,自动调整输出量,实现过程控制的一种控制方法。具体指令如下:PID指令的格式:PID(ID,CV,SV...
PLC里的PID是什么意思有什么作用?详细一点谢谢入门者?
在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制的PID控制器(亦称PID调节器)是应用最为广泛的一种自动控制器。比例调节作用:是按比例反应系...在...