大家好,我是小叔,今天我们来了解一下S7-300PLC中的PID(FB41)程序块的应用,本次以STEP7为例,主要还是因为有一些朋友在我的公众号后台私信我,要求讲一讲FB41的用法,作为宠粉的小叔是一定会满足你们的要求滴,那么闲话少说,就让我们来看今天的视频吧! 以下为视频教程
以下为视频摘要 一、所有的输入参数:
COM_RST: BOOL: 重新启动PID:当该位TURE时:PID执行重启动功能,复位PID内部参数到默认值;通常在系统重启动时执行一个扫描周期,或在PID进入饱和状态需要退出时用这个位;
MAN_ON:BOOL:手动值ON;当该位为TURE时,PID功能块直接将MAN的值输出到LMN,这可以在PID框图中看到;也就是说,这个位是PID的手动/自动切换位;
PEPER_ON:BOOL:过程变量外围值ON:过程变量即反馈量,此PID可直接使用过程变量PIW(不推荐),也可使用 PIW规格化后的值(常用),因此,这个位为FALSE; P_SEL:BOOL:比例选择位:该位ON时,选择P(比例)控制有效;一般选择有效; I_SEL:BOOL:积分选择位;该位ON时,选择I(积分)控制有效;一般选择有效; INT_HOLD BOOL:积分保持,不去设置它; I_ITL_ON BOOL:积分初值有效,I-ITLVAL(积分初值)变量和这个位对应,当此位ON时,则使用I-ITLVAL变量积分初值。一般当发现PID功能的积分值增长比较慢或系统反应不够时可以考虑使用积分初值; D_SEL :BOOL:微分选择位,该位ON时,选择D(微分)控制有效;一般的控制系统不用; CYCLE :TIME:PID采样周期,一般设为200MS; SP_INT:REAL:PID的给定值; PV_IN :REAL:PID的反馈值(也称过程变量); PV_PER:WORD:未经规格化的反馈值,由PEPER-ON选择有效;(不推荐) MAN :REAL:手动值,由MAN-ON选择有效; GAIN :REAL:比例增益; TI :TIME:积分时间; TD :TIME:微分时间; TM_LAG:TIME:我也不知道,没用过它,和微分有关; DEADB_W:REAL:死区宽度;如果输出在平衡点附近微小幅度振荡,可以考虑用死区来降低灵敏度; LMN_HLM:REAL:PID上极限,一般是100%; LMN_LLM:REAL:PID下极限;一般为0%,如果需要双极性调节,则需设置为-100%;(正负10V输出就是典型的双极性输出,此时需要设置-100%); PV_FAC:REAL:过程变量比例因子 PV_OFF:REAL:过程变量偏置值(OFFSET) LMN_FAC:REAL:PID输出值比例因子; LMN_OFF:REAL:PID输出值偏置值(OFFSET); I_ITLVAL:REAL:PID的积分初值;有I-ITL-ON选择有效; DISV :REAL:允许的扰动量,前馈控制加入,一般不设置;
二、部分输出参数说明: LMN :REAL:PID输出; LMN_P :REAL:PID输出中P的分量;(可用于在调试过程中观察效果) LMN_I :REAL:PID输出中I的分量;(可用于在调试过程中观察效果) LMN_D :REAL:PID输出中D的分量;(可用于在调试过程中观察效果)
三、规格化概念及方法: PID参数中重要的几个变量,给定值,反馈值和输出值都是用0.0~1.0之间的实数表示, 而这几个变量在实际中都是来自与模拟输入,或者输出控制模拟量的 因此,需要将模拟输出转换为0.0~1.0的数据,或将0.0~1.0的数据转换为模拟输出,这个过程称为规格化
规格化的方法:(即变量相对所占整个值域范围内的百分比 对应与27648数字量范围内的量) 对于输入和反馈,执行:变量*100/27648,然后将结果传送到PV-IN和SP-INT 对于输出变量 ,执行:LMN*27648/100,然后将结果取整传送给PQW即可;
四、PID的调整方法: 一般不用D,除非一些大功率加热控制等惯大的系统;仅使用PI即可, 一般先使I等于0,P从0开始往上加,直到系统出现等幅振荡为止,记下此时振荡 的周期,然后设置I为振荡周期的0.48倍,应该就可以满足大多数的需求。我记得网络上有许多调整PID的方法,但不记得那么多了,先试试吧。
|