S7-300的温度PID控制
刘玉蓉
发布于2014-11-05 17:35
5
0
标签:
看了些有关FB41和FB58块的使用说明,但还是不太清楚具体如何使用。我现有314-2DP的PLC一台,PT100热电阻一个,电动阀门4-20毫安驱动,现想做一个温度控制:温度设定值为100度,低于100度时阀门关闭,当温度超过100度时使用PID调节阀门的开度,使温度恒定在100度,温度的上限是105度(即当温度到达105度时,全开阀门)。请指导。
佳答案
实际上PID控制器FB41(连续控制器)和FB58(专用于PID温度控制)都是系统固化的纯软件控制器,运行过程中循环扫描、计算所需的全部数据存储在分配给FB41或FB58的背景数据块中,可以无限次调用。下面以FB41为例简单说明。
首先你要将要求的设定值(标准的整形值,介于0-27648,如0对应0度,100度对应27648),通过在主循环OB1中调用规范化功能FC105将此整形值转换为以工程单位表示的介于下限和上限之间的整型值(浮点格式),作为PID控制器FB41的参数PV_IN(浮点格式过程变量输入);其次,一般周期性中断OB35中调用控制块FB41,默认100毫秒进行一次PID运算。在调用FB41时,填写DB41,就会自动产生FB41的背景数据块;在FB41的指令参数中LMN_HIM(控制器输出上限,百分比100%,对应100度)和LMN_LLM(控制器输出下限,0%,对应0度),在CYCLE(采样时间)参数中输入采样时间,其他参数可以选择默认,你也可以在背景数据块对应参数中“Actual”(实际值)输入值,如果不输入值,FB41会自动调用DB41的默认设定值;第三,你可以在主循环OB1块中利用赋值指令把背景数据块DB41中参数LMN_PER(I/O格式的PID输出值)传送到如外设输出通道(模拟量模块的输出)如PQW3(将PID输出值,经过D/A模块转换后输出),控制PID调节阀的开度。
程序简单描述如下:在主循环组织块OB1中调用FC105和赋值指令;在OB35中调用PID控制块;在OB100中编写下列程序,作为重启PID:
S DB1.DBX0.0 //重启PID控制
R DB1.DBX0.0//复位PID控制器