一个系统经常不仅仅有PLC,更多时候还会有触摸屏甚至上位,同时用户也会要求在触摸屏或者上位机上修改PID参数,怎样实现呢?具体步骤如下:
1. 通过向导实现PID,在向导完成以后会生成一个对应回路的PID数据块
该数据块里列出PID回路表对应的参数地址,其中回路增益 VD12 ,积分时间VD20以及微分时间VD24可以直接添加到触摸屏、 上位机进行修改,注意数据类型是浮点数
2.在触摸屏建立连接并添加PID参数变量
3.在触摸屏画面上组态并运行 即可显示修改对应参数
其实,即使没有触摸屏、上位机也可以在STEP7 Micro/WIN 软件自带的状态表里修改参数 而不必重新修改向导,调试方便
******************************************************************************************************************************************************************************************
需要注意的是这些参数在数据块有初始值 如果在线修改完后PLC断电或者重新下载后可能被初始值覆盖
*** 如果PLC断电后保持触摸屏修改参数 将对应参数设置为断电保持 但要考虑断电保持的时间
*** PLC重新下载,不希望 触摸屏修改的参数被初始值覆盖? 考虑下载时不要勾选数据块,但是用户要清楚自己的操作
最稳妥的方法是将调整好的参数在向导里写入,重新生成数据块作为初始值,这样不会丢失
******************************************************************************************************************************************************************************************
根据上例的PID数据块可以看到 PID回路表里的各项参数,通常除 回路增益,积分时间以及微分时间以外 ,还会用到 前三个参数
用户经常对这三个参数值是否需要转换成0.0-1.0之间的数有疑惑,实际上200的PID实现通常有2种方式,PID向导和PID指令块
PID向导:在向导生成的子程序关联的反馈、给定和输出的范围与向导里标定的范围一致 不需要人为转换成0.0-1.0
PID指令块:通过PID回路表设置,必须将反馈、给定和输出的范围转换为0.0-1.0 即使是双极性。例如:给定温度范围是-50.0~200.0℃,也需要转换为0.0-1.0后再写入回路表对应变量
下面看看PID通过向导实现时,对应关系
1.在做PID向导时,首先需要用户设置这三个参数的标定范围,下图能看出 该PID设置的过程变量为0-32000;回路给定值 0-500.0以及回路输出6400-32000 这些是在子程序调用时 对应变量的取值范围 具体范围设置原则可以参考本文档PID向导章节
2.调用PID子程序并分配各参数 实际反馈值PV_I可以直接关联AIWx ,Output 可以直接关联AQWx,这里为了简单查看对应关系,用V区替代,但是子程序关联的反馈、给定和输出的范围与向导里标定的范围一致即
VW500 范围: 0-32000
VD504 范围: 0.0-500.0
VW516 范围: 6400-32000
3.手动输入反馈值VW500与给定值VD504,PID切换到自动模式V508.0=1此时PID输出 见VW516;真正在PID里,是将这些数值转换成0-1.0之间的数运算 这些转换完的数据存储在PID回路表也就是对应的数据块里,由此可以看到下图的转换关系,
上图可以通过VD0,VD4看出给定与反馈之间的差值 比起在向导设定的范围标定更方便 ,工程师可以判断自己在向导里标定的范围是否正确,判断当前的状态到底能不能满足输出条件
为了更好方便用户的学习,可参考下面的例程
注意:此程序的作者和拥有者对于该软件的功能性和兼容性不负任何责任。使用该软件的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为 此联系西门子技术支持与服务部门。
PID的输出都有哪些类型?
用户可以选择模拟量输出或数字量输出。模拟量输出用来控制一些需要模拟量给定的设备,如比例阀、变频器等;数字量输出实际上是控制输出点的通、断状态按照一定的占空比变化,可以控制固态继电器(加热棒等)
S7-200的PID借助相关库文件,可以实现三步控制 例如:使用混合阀门实现水温的三步控制 ,具体参考以下链接:https://support.industry.siemens.com/cs/document/18748232?dti=0&lc=zh-CN
PID各个参数的作用是什么?
比例调节:提高响应速度,减少误差,但不能消除稳态误差,当比例作用过大时,系统的稳定性下降。 (由小到大单独调节)
积分调节:消除稳态误差,使系统的动态响应变慢,积分时间越小,积分作用越大 ,偏差得到的修正越快,过短的积分时间有可能造成不稳定。(将调好的比例增益调整到50%~80%后,由大到小减小积分时间)
微分调节:超前调节,能预测误差变化的趋势,提前抑制误差的控制作用,从而避免了被控量的严重超调。偏差值发生改变时,微分作用将增加一个尖峰到输出中,随着时间流逝减小。微分时间越长,输出的变化越大。微分使控制对扰动的敏感度增加,也就是偏差的变化率越大,微分控制作用越强。微分相当于对反馈变化趋势的预测性调整。
(PID控制器不适用于大滞后环节)
建议PID参数调节步骤:
(1)前提条件:反馈信号是否稳定,执行机构是否正常以及控制器的正反作用。(确保PID在自动模式下)
(2)积分时间设置为无穷大INF(或9999.9),此时积分作用近似为0;将微分时间设置为0.0,此时微分作用为0 。然后开始调节比例作用,逐步增大比例增益
(3)当过程变量达到给定值且在给定值上下波动,将调好的比例系数调整到50%~80%后,由大到小减小积分时间,直到过程值与设定值相等或无限接近
以上是建议步骤,未考虑微分作用,客户依据实际情况灵活调节,同时可以参考'反馈与给定的曲线图'
用户经常会遇到这样的问题:尝试了很多组PID参数,都无法满足控制器的要求, 此时需要考虑PID的采样时间是否适合当前系统。采样时间就是对反馈进行采样的间隔。短于采样时间间隔的信号变化是不能测量到的。采样时间过短,两次实测值的变化量太小,也不合适,而且增加PLC的运算负担;采样间隔过长,将会引起有用信号的丢失,使系统品质变差,不能满足扰动变化比较快、或者速度响应要求高的场合。除此以外,也有可能是系统自身的问题,无法调节到稳定,例如, 不规律的干扰,或者反馈信号不稳定
如何获取一组合适的参数,实现快速并稳定的PID控制?
?PID调节过程中,用户通常需要做多次的参数调节才能获得最优的控制效果。从下面反馈(过程变量)与给定之间的曲线图中,可以看到黄色曲线较理想。用户可以将调节的PID反馈与给定曲线与下图中对比,并修改相关参数(但是因为现场情况不一样,用户还需具体问题具体对待,下图中的建议仅供参考: