S7-300 PID功能常见问题

1. 通过软件指令块,S7-300 CPU支持多少个PID回路?

取决于两方面的因素:存储器要求和执行时间要求

(1)存储器要求:S7-300的软件PID指令FB41"CONT_C" FB42"CONT_S" FB43"PULSEGEN FB58"TCONT_CP" FB59"TCONT_S"均为功能块,会占用CPU工作存储器、本地数据和装载存储器的空间;这些块的调用需要背景数

据块,同样会占用CPU工作存储器的装载存储器的空间。调用多个PID回路,需要保证CPU的工作内存和MMC的装载内存满足多个回路的指令块及其背景数据占用的存储器空间。指令块及其背景数据块占用的存储空间请参考以下表格:

(2)执行时间要求:S7-300的软件PID指令在CPU内进行,会占用CPU的循环扫描时间,调用多个PID回路,需要保证指令块的执行时间乘以控制器数量满足相关的工艺需求。指令块的执行时间请参考以下表格:

2. 误差信号ER不为零,为什么FB41 CONT_C的输出LMN=0?

检查是否对FB41 CONT_C设置了以下参数:

(1)COM_RST=1:启用了完全重启功能

(2)MAN_ON=1 and MAN=0:启动了手动模式,并且手动值为0

(3)P_SEL=0 and I_SEL=0 and D_SEL=0:比例控制、积分控制、微分控制的模式开关均未打开

(4)LMN_FAC LMN_OFF设置有误:LMN_FAC和LMN_OFF是输出规格化的参数,最终的PID输出LMN=LMNLIMIT*LMN_FAC+LMN_OFF (LMNLIMIT是经过限幅处理后的PID输出)

3.必须在循环中断OB中调用FB41 CONT_C吗?

如果在主循环OB1中调用FB41,由于OB1的循环时间是不固定的,无法为FB41的循环时间CYCLE提供明确的参数。FB41的循环时间不能与扫描周期保持一致,基于时间的控制参数会看起来很快或者很慢,可能导致调节曲线不平滑、控制效果差。因此,建议在循环中断OB中调用,并设置FB41的循环时间CYCLE 与循环中断OB的执行间隔相同。

4. FB41 CONT_C的操作模式从自动切换为手动时,如何实现无扰切换?

FB41从手动模切切换到自动模式,为无扰切换,即在切换过程中保证PID输出不突变;从自动模式切换到手动模式为非无扰切换,若要实现无扰切换,需要编程处理:在MAN_ON=0、即自动模式下,把自动模式下的输出LMN给到MAN;当MAN_ON=1、即切换为手动模式时,该MOVE指令会断开执行,手动模式的输出MAN保持为自动模式最后的输出LMN。

5. FB41 CONT_C的积分时间Ti设置为零,为什么系统出现震荡?

设置积分时间Ti为零,积分作用没有被取消、反而达到了最强的积分作用,过强的积分作用易引起系统震荡

若要取消积分作用,应设置FB41的参数I_SEL=0

 

6. FB58 TCONT_CP 启用脉冲输出功能,若PID输出发生改变,脉冲输出的周期和脉宽如何变化?

情形一:PID输出的LMN改变发生在脉冲输出的高电平

(1)LMN变小:例如从LMN从80减小为50,则高低电平比例从8:2 变为5:5,高电平的持续时间变长短;由于正处于高电平,所以立即关断高电平,输出低电平。

(2)LMN变大:例如LMN从50增大为80,则高低电平比例从5:5变为8:2 ,高电平的持续时间变长;由于正处于高电平,所以继续输出高电平。

情形二:PID输出的LMN改变发生在脉冲输出的低电平。

(1)LMN变小:例如LMN从80 减小为50,则高低电平比例从8:2变为5:5,低电平的持续时间边长;由于正处于低电平,所以继续输出低电平。

(2)LMN变大:例如LMN从50增大为80,则高低电平比例从5:5变为8:2,低电平的持续时间边短;由于正处于低电平,所以立即关断低电平,输出高电平。