pid c语言算法plc,三种比较简单pid控制算法公式
三种比较简单pid控制算法公式
控制点目前包含三种比较简单的pid控制算法,分别是:增量式算法,位置式算法,微分先行。这三种是最简单的基本算法,各有其特点,一般能满足控制的大部分要求:
1、PID增量式算法
离散化公式(注:各符号含义如下):
u(t)----- 控制器的输出值。
e(t)----- 控制器输入与设定值之间的误差。
Kp------- 比例系数。
Ti------- 积分时间常数。
Td------- 微分时间常数。
T-------- 调节周期。
2、积分分离法
离散化公式:
Δu(t) = q0e(t) + q1e(t-1) + q2e(t-2)
当|e(t)|≤β时
q0 = Kp(1+T/Ti+Td/T)
q1 = -Kp(1+2Td/T)
q2 = Kp Td /T
当|e(t)|>β时
q0 = Kp(1+Td/T)
q1 = -Kp(1+2Td/T)
q2 = Kp Td /T
u(t) = u(t-1) + Δu(t)
注:各符号含义如下
u(t)----- 控制器的输出值。
e(t)----- 控制器输入与设定值之间的误差。
Kp------- 比例系数。
Ti------- 积分时间常数。
Td------- 微分时间常数。(有的地方用"Kd"表示)
T-------- 调节周期。
β------- 积分分离阈值
3、微分先行PID算法
离散化公式:
u(t)----- 控制器的输出值。
e(t)----- 控制器输入与设定值之间的误差。
Kp------- 比例系数。
Ti------- 积分时间常数。
Td------- 微分时间常数。(有的地方用"Kd"表示)
T-------- 调节周期。
β------- 积分分离阈值
PID控制:
因为PI系统中的I的存在会使整个控制系统的响应速度受到影响,为了解决这个问题,我们在控制中增加了D微分项,微分项主要用来解决系统的响应速度问题,其完整的公式如下:
u(t) = Kp*e(t) + Ki∑e(t) + Kd[e(t) – e(t-1)]+u0
在PID的调试过程中,我们应注意以下步骤:
1、 关闭I和D,也就是设为0.加大P,使其产生振荡;
2、 减小P,找到临界振荡点;
3、 加大I,使其达到目标值;
4、重新上电看超调、振荡和稳定时间是否吻合要求;
5、 针对超调和振荡的情况适当的增加一些微分项;
6、 注意所有调试均应在最大争载的情况下调试,这样才能保证调试完的结果可以在全工作范围内均有效;
PID控制器参数整定
PID控制器参数整定是控制系统设计核心内容。它是被控过程特性确定PID控制器比例系数、积分时间和微分时间大小。PID控制器参数整定方法很多,概括起来有两大类:一是理论计算整定法。它主依据系统数学模型,理论计算确定控制器参数。这种方法所到计算数据未必可以直接用,还必须工程实际进行调整和修改。二是工程整定方法,它主要依赖工程经验,直接控制系统试验中进行,且方法简单、易于掌握,工程实际中被广泛采用。PID控制器参数工程整定方法,主要有临界比例法、反应曲线法和衰减法。三种方法各有其特点,其共同点都是试验,然后工程经验公式对控制器参数进行整定。但采用哪一种方法所到控制器参数,都需要实际运行中进行最后调整与完善。现一般采用是临界比例法。利用该方法进行 PID控制器参数整定步骤如下:
(1)首先预选择一个足够短采样周期让系统工作;
(2)仅加入比例控制环节,直到系统对输入阶跃响应出现临界振荡,记下这时比例放大系数和临界振荡周期;
(3)一定控制度下公式计算到PID控制器参数。
PID参数调整口诀:
参数整定找最佳,从小到大顺序查
先是比例后积分,最后再把微分加
曲线振荡很频繁,比例度盘要放大
曲线漂浮绕大湾,比例度盘往小扳
曲线偏离回复慢,积分时间往下降
曲线波动周期长,积分时间再加长
曲线振荡频率快,先把微分降下来
动差大来波动慢。微分时间应加长
理想曲线两个波,前高后低四比一
一看二调多分析,调节质量不会低
pid c语言算法plc,三种比较简单pid控制算法公式相关推荐
- 西门子哪款plc支持c语言,西门子PLC三种语言的区别
原标题:西门子PLC三种语言的区别 PLC是机器人重要的一部分,下面小编就为大家介绍一些3种语言的区别,帮助大家学习. 一.梯形图 梯形图作为简单易读通俗易懂基本属于新人学习PLC的首选,而且调试的时 ...
- C语言快速排序算法及三种优化方式
C语言快速排序算法及三种优化方式 C语言快速排序算法及三种优化方式 原理 快速排序复杂度分析 1 时间复杂度 2 空间复杂度 快速排序代码实现 1 普通快速排序 2 快速排序优化1-三数取中优化不必要 ...
- c语言勾股定理程序流程图,方法总结1.表达算法的方法有自然语言.流程图和基本算法语句三种.先有自然语言.再画流程图.最后才能写出基本算法语句.即程序,——青夏教育精英家教网——...
考点一:自然语言表示的算法 [内容解读]通过对解决具体问题过程与步骤的分析,体会算法的思想,了解算法的含义:对于某一问题往往可以设计出多种算法,通过选用步骤最少的.结构最好的算法. [命题规律]以选择 ...
- c 语言程序的三种基本结构,C 语言程序的三种基本结构是____ A、顺序结构,选择结构,循环结构 B、递归结构,循环结构,转移结构...
C 语言程序的三种基本结构是____ A.顺序结构,选择结构,循环结构 B.递归结构,循环结构,转移结构 更多相关问题 [填空题]移动电商,全称 ,是以 为载体的电商模式. [单选题]有关离子选择性电 ...
- c语言编程非线性方程求解,c语言计算机编程三种方法求解非线性方程
c语言计算机编程三种方法求解非线性方程 本 科 专 业 学 年 论 文题 目:非线性方程求解比较姓 名: 何 娟 专 业: 计算机科学技术系 班 级: 08 级本科(2)班 指 导 老 师: 刘 晓 ...
- c语言编程非线性方程求解,c语言计算机编程三种方法求解非线性方程.doc
c语言计算机编程三种方法求解非线性方程.doc 本 科 专 业 学 年 论 文题 目非线性方程求解比较姓 名 何 娟 专 业 计算机科学技术系 班 级 08 级本科(2)班 指 导 老 师 刘 晓 娜 ...
- c语言二叉树的遍历菜单系统,C语言二叉树的三种遍历方式的实现及原理
C语言二叉树的三种遍历方式的实现及原理 发布时间:2020-10-03 19:43:57 来源:脚本之家 阅读:63 作者:看雪. 二叉树遍历分为三种:前序.中序.后序,其中序遍历最为重要.为啥叫这个 ...
- C语言程序设计有哪几种结构,第章c语言程序设计的三种基本结构.ppt
第章c语言程序设计的三种基本结构 北京科技大学 计算机系 第2章 C语言程序设计 的三种基本结构 2.1 顺序结构程序设计 2.1.1 C语句 2.1.2 字符数据的输入与输出 2.1.3 格式输入与 ...
- K-means聚类算法的三种改进(K-means++,ISODATA,Kernel K-means)介绍与对比
原文:http://www.cnblogs.com/yixuan-xu/p/6272208.html K-means聚类算法的三种改进(K-means++,ISODATA,Kernel K-means ...
- Python语言学习:三种随机函数random.seed()、numpy.random.seed()、set_random_seed()及random_normal的简介、使用方法(固定种子)详细攻略
Python语言学习:三种随机函数random.seed().numpy.random.seed().set_random_seed()及random_normal的简介.使用方法(固定种子)之详细攻 ...
最新文章
- 福利 | 送你一张通往「2019 AI开发者大会」的门票
- python身份运算符的语法规则_7 Python语法入门之与用户交互、运算符
- linux基础 云,云计算之linux基础一
- Java虚拟机2:Java 运行时数据区
- dr.oracle素颜霜好用吗,dr.jart+ V7素颜霜怎么样?不适合干皮
- 皮一皮:听说这是功夫熊猫风的情侣酒店...
- 计算机科学课程体系核心内容,计算机科学教育的课程体系之研究
- Linux驱动设计ioctl函数的cmd参数不能为2
- 在.net中序列化读写xml方法的总结(转载)
- 非printf形式的十六进制和二进制打印(雅虎面试题)
- SQLyog 报错2058 :连接 mysql 8.0.12 解决方法
- mysql 数据生成_mysql生成数据
- JDY-16 蓝牙4.2模块串口测试方法
- 仙道服务器维护,【正式服】2月14日例行更新维护公告
- BF算法与KMP算法
- 电脑死机什么导致,带你一次性了解所有导致电脑死机蓝屏原因!
- 如何破解软件狗,dongle
- 一些国外的MD5破解网站
- 计算机连接不上蓝牙鼠标,图文教您win7系统蓝牙鼠标连接不上的处理方法
- 好像还挺好玩的GAN8——SRGAN实现图像的分辨率提升