
S7-300的PID液位控制系统.ppt
24页主讲主讲: 阳胜峰阳胜峰基于基于S7-300的的PID液位控制系统液位控制系统内容: 一、控制要求一、控制要求 二、控制思路二、控制思路 三、硬件选型三、硬件选型 四、电路连接四、电路连接 五、程序用到的五、程序用到的FC与与FB 六、六、PLC编程编程一、控制要求一、控制要求 有一水箱可向外部用户供水,用户用水量不稳定,有时大有时少水箱进水可由水泵泵入,现需对水箱中水位进行恒液位控制,并可在0~200mm(最大值数据可根据水箱高度确定)范围内进行调节如设定水箱水位值为100mm时,则不管水箱的出水量如何,调节进水量,都要求水箱水位能保持在100mm位置,如出水量少,则要控制进水量也少,如出水量大,则要控制进水量也大 因为液位高度与水箱底部的水压成正比,故可用一个压力传感器来检测水箱底部压力,从而确定液位高度要控制水位恒定,需用PID算法对水位进行自动调节把压力传感器检测到的水位信号4~20mA送入至S7-300 PLC中,在PLC中对设定值与检测值的偏差进行PID运算,运算结果输出去调节水泵电机的转速,从而调节进水量。
水泵电机的转速可由变频器来进行调速二、控制思路二、控制思路三、硬件选型三、硬件选型1、PLC及其模块选型PLC可选用S7-300(CPU 314 IFM) , 314IFM自身带有4路模拟量输入和2路模拟量输出2、变频器选型为了能调节水泵电机转速从而调节进水量,特选择西门子G110的变频器3、水箱对象设备, 如下图所示:四、电路连接四、电路连接1、主电路接线图2、PLC输入输出信号接线图 SCALE功能接受一个整型值(IN),并将其转换为以工程单位表示的介于下限和上限(LO_LIM和HI_LIM)之间的实型值将结果写入OUT五、程序用到的五、程序用到的FC与与FB1、、FC105FC105的数值换算公式为:OUT=(IN -K1)/(K2-K1)*(HI_LIM-LO_LIM )+LO_LIM 对双极性,输入值范围为-27648到27648,对应K1 =-27648,K2 =+27648, 对单极性,输入值范围为0到27648,对应K1 =0,K2 =+27648,如果输入整型值大于K2,输出(OUT)将钳位于HI_LIM,并返回一个错误。
如果输入整型值小于K1,输出将钳位于LO_LIM,并返回一个错误 通过设置LO_LIM > HI_LIM可获得反向标定使用反向转换时,输出值将随输入值的增加而减小FC105参数 UNSCALE功能接收一个以工程单位表示、且标定于下限和上限(LO_LIM和HI_LIM)之间的实型输入值(IN),并将其转换为一个整型值将结果写入OUT2、、FC106UNSCALE功能使用以下等式: OUT = (IN-HO_LIM)/(HI_LIM-HO_LIM)* (K2-1) ]+ K1,并根据输入值是BIPOLAR还是UNIPOLAR设置常数K1和K2 BIPOLAR:假定输出整型值介于-27648和27648之间,因此,K1 = -27648.0,K2 = +27648.0 UNIPOLAR:假定输出整型值介于0和27648之间,因此,K1 = 0.0,K2 = +27648.0 如果输入值超出LO_LIM和HI_LIM范围,输出(OUT)将钳位于距其类型(BIPOLAR或UNIPOLAR)的指定范围的下限或上限较近的一方,并返回一个错误。
FC106参数3、、FB41(1)常用输入参数: 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:微分时间; 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:允许的扰动量,前馈控制加入,一般不设置;2、常用输出参数LMN :REAL:PID输出;LMN_P :REAL:PID输出中P的分量;(可用于在调试过 程中观察效果)LMN_I :REAL:PID输出中I的分量;(可用于在调试过程 中观察效果)LMN_D :REAL:PID输出中D的分量;(可用于在调试过程中观察效果) 六、六、PLC编程编程1、I/O分配模拟量输入PIW130模拟量输出PQW128MD8:实际液位值M50.0:PID手自动切换MD60:设定液位值MD100:PID输出值2、PLC程序END。
