找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
这个需要你看pid自动控制理论.1200中没有现成的实例给你用,1200不支持stl.
理解 PID 控制原理
比例(P)部分:比例环节的作用是对偏差(设定值与实际值的差值)进行放大或缩小。其输出与偏差成正比,公式为up=Kp*e,其中up是比例环节输出,Kp是比例增益,e是偏差。例如,在一个温度控制系统中,如果设定温度为 80℃,实际温度为 70℃,偏差e=80-70=10
℃,若Kp=2,则比例环节输出up=2*10=20。
积分(I)部分:积分环节主要用于消除稳态误差。它对偏差进行积分运算,公式为ui=Ki∫e(T)dt,其中ui是积分环节输出,Ki是积分增益。随着时间的积累,只要偏差存在,积分项就会不断增大或减小,促使系统的输出向消除偏差的方向变化。
微分(D)部分:微分环节根据偏差的变化率来调整输出。它可以预测偏差的变化趋势,公式为ud=Kd*(de/dt),其中ud是微分环节输出,Kd是微分增益。例如,当温度上升速度很快时,微分环节可以提前做出反应,抑制温度的过快上升。
在西门子 1200PLC 中创建 PID 功能块的步骤
变量定义
在 PLC 编程软件(如 TIA Portal)中,打开项目并创建一个新的功能块(FB)。定义输入参数,如设定值(Setpoint)、实际值(ProcessValue)、比例增益(GainP)、积分增益(GainI)、微分增益(GainD)等;还需要定义输出参数,如控制输出(Output)。同时,定义一些内部变量,如积分项(IntegralSum)、上一次的偏差(LastError)等。
比例环节计算
在功能块的程序段中,首先计算偏差Error=SetPoint-ProcessValue,然后计算比例环节的输出OUtPutP=GainP*Error。
积分环节计算
计算积分项IntergralSum=IntergralSum+Error*SamplingTime(其中 SamplingTime 是采样时间,需要根据实际情况设置),然后计算积分环节输出。
微分环节计算
计算偏差的变化率ErrorDerivative=(Error-lastError)/SampleingTime,更新上一次的偏差LastError=Error,然后计算微分环节输出OUtPutd=GaimD*ErrorDerivative。
总输出计算
将比例、积分、微分环节的输出相加,得到最终的控制输出Output=OutputP+OutputI+OutputD。
限制输出范围
根据实际执行机构(如电机速度、阀门开度等)的限制,对输出进行限幅。例如,如果输出是控制一个阀门开度,范围是 0 - 100%,可以使用条件判断语句来限制输出在这个范围内。
参数调试与优化
编写好 PID 功能块后,下载到 PLC 中进行测试。开始时,可以先设置比例增益,观察系统的响应情况。如果响应太慢,增加比例增益;如果出现振荡,减小比例增益。
积分增益主要影响系统的稳态精度。如果存在稳态误差,适当增加积分增益,但积分增益过大会导致系统超调增加和振荡。
微分增益可以改善系统的动态性能,抑制超调。但微分增益过大可能会使系统对噪声敏感。通过不断调整这三个参数(通常称为 PID 参数整定),可以使控制系统达到满意的性能。
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
专家置评
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城