首页 理论教育 利用S7-300/400PLC进行电炉的温度控制

利用S7-300/400PLC进行电炉的温度控制

时间:2023-06-17 理论教育 版权反馈
【摘要】:S7-300 PLC提供有PID控制功能块来实现PID控制。位于文件夹“Libraries→Standard Library→PID Controller”的FB41、FB41、FB43与SFB41、SFB42、SFB43兼容,前者用于S7-300 PLC,而后者用于S7-400 PLC。有一台电炉要求炉温控制在一定的范围。在参数分配期间,可以通过激活或取消激活PID控制器的子功能使控制器适应过程的需要。UNIPOLAR:假定输入整型值介于0~27648之间,则K1=0.0,K2=+27648.0。电炉的温度控制使用S7-400 PLC与S7-300 PLC的方法几乎一样,程序的不同之处在于S7-300 PLC使用FB41,而S7-400 PLC使用SFB41。

利用S7-300/400PLC进行电炉的温度控制

S7-300 PLC提供有PID控制功能块来实现PID控制。STEP7提供了系统功能块SFB41、SFB42和SFB43实现PID闭环控制,其中SFB41“CONT_C”用于连续控制;SFB42“CONT_S”用于步进控制;SFB43“PULSEGEN”用于脉冲宽度调制,它们位于文件夹“Libraries→Standard Library→PID Controller”中。位于文件夹“Libraries→Standard Library→PID Con⁃troller”的FB41、FB41、FB43与SFB41、SFB42、SFB43兼容,前者用于S7-300 PLC,而后者用于S7-400 PLC。FB58、FB59则用于PID温度控制,它们是系统固化的纯软件控制器,运行过程中循环扫描、计算所需的全部数据存储在分配给FB或SFB的背景数据块里,因此可以无限次调用。

【例2-2】有一台电炉要求炉温控制在一定的范围。电炉的工作原理如下:

当设定电炉温度后,CPU314C-2DP经过PID运算后由自带模拟量输出模块输出一个电压信号送到控制板,控制板根据电压信号(弱电信号)的大小控制电热丝的加热电压(强电)的大小(甚至断开),温度传感器测量电炉的温度,温度信号经过控制板的处理后输入到模拟量输入模块,再送到CPU314C-2DP进行PID运算,如此循环。整个系统的硬件配置如图2-20所示。请编写控制程序。

【解】

1.主要软硬件配置

①1套STEP7 V5.5 SP3。

②1台CPU 314C-2DP。

③1根编程电缆(或者CP5611卡)。

④1台电炉(含控制板)。

电气原理图如图2-21所示。

978-7-111-51393-3-Chapter02-26.jpg

图2-20 硬件配置图

978-7-111-51393-3-Chapter02-27.jpg

图2-21 电气原理图

2.硬件组态

1)新建工程,并插入站点。新建工程,命名为“PID(FB41)”,插入站点“SIMATIC 300(1)”,再在“Blocks”里插入组织块“OB35”、“OB35”和参数表“VAT_1”,如图2-22所示。

978-7-111-51393-3-Chapter02-28.jpg

图2-22 新建工程,并插入站点

2)更改地址。双击“1”处的“DI24/DO16”,将数字量输入/输出的起始地址修改成从0开始,双击“1”处的“DI24/DO16”,将模拟量输入/输出的起始地址修改成从3开始,如图2-23所示。

978-7-111-51393-3-Chapter02-29.jpg

图2-23 更改地址

3)设置模拟输入量测量范围。先选定输入选项卡,再选定“温度单位”为“摄氏度”,选择测量范围为“0~10V”,最后单击“确定”按钮,如图2-24所示。

978-7-111-51393-3-Chapter02-30.jpg

图2-24 设置模拟输入量测量范围

4)设置模拟输出量测量范围。先选定输出选项卡,再选择输出电压范围为“0~10V”,单击“确定”按钮,如图2-25所示。

978-7-111-51393-3-Chapter02-31.jpg

图2-25 设置模拟输出量测量范围

3.相关指令介绍(www.xing528.com)

(1)FB41指令

FB41“CONT_C”(连续控制器)在SIMATIC S7可编程逻辑控制器上使用,通过持续的输入和输出变量来控制工艺过程。在参数分配期间,可以通过激活或取消激活PID控制器的子功能使控制器适应过程的需要。

可以使用该控制器作为PID固定设定值控制器或在多循环控制中作为层叠、混料或比率控制器。该控制器的功能基于使用模拟信号的采样控制器的PID控制算法,必要时可以通过加入脉冲发生器阶段进行扩展,为使用成比例执行机构的两个或三个步骤控制器生成脉冲持续时间调制输出信号。但要注意只有在以固定时间间隔调用块时,在控制块中计算的值才是正确的。为此,应该在周期性中断OB(OB30至OB38)中调用控制块。在CYCLE参数中输入采样时间。FB41指令的主要参数见表2-4。

表2-4 FB41指令参数

978-7-111-51393-3-Chapter02-32.jpg

(续)

978-7-111-51393-3-Chapter02-33.jpg

(2)FC105指令

SCALE功能接受一个整型值(IN),并将其转换为以工程单位表示的介于下限和上限(LO_LIM和HI_LIM)之间的实型值。将结果写入OUT。SCALE功能使用以下等式:

OUT=[((FLOAT(IN)-K1)/(K2-K1))×(HI_LIM-LO_LIM)]+LO_LIM

常数K1和K2根据输入值是BIPOLAR(双极性)还是UNIPOLAR(单极性)设置。BIPOLAR的含义是假定输入整型值介于-27648~27648之间,则K1=-27648.0,K2=+27648.0。UNIPOLAR:假定输入整型值介于0~27648之间,则K1=0.0,K2=+27648.0。

表2-5 FC105指令参数

978-7-111-51393-3-Chapter02-34.jpg

(3)FC106指令

UNSCALE功能指令将一个从低限LO_LIM到高限HI_LIM工程单位的数值转换成一个整数值,将结果写入OUT中。这个指令满足如下公式:

OUT=[((IN-LO_LIM)/(HI_LIM-LO_LIM))∗(K2-K1)]+K1

常数K1和K2根据输入值是BIPOLAR(双极性)还是UNIPOLAR(单极性)设置。BIPOLAR的含义是假定输出整型值介于-27648~27648之间,则K1=-27648.0,K2=+27648.0。UNIPOLAR的含义是假定输出整型值介于0~27648之间,则K1=0.0,K2=+27648.0。FC106指令指令见表2-6。

表2-6 FC106指令参数

978-7-111-51393-3-Chapter02-35.jpg

4.编写程序

OB1中的程序如图2-26所示;OB35中的程序如图2-27所示,每0.1s作一次PID运算。

978-7-111-51393-3-Chapter02-36.jpg

图2-26 OB1中的程序

978-7-111-51393-3-Chapter02-37.jpg

图2-27 OB35中的程序

关键点】S7-300的程序中有的指令表是不能转换成梯形图的,因此在同一个程序中可能出现指令表和梯形图并存的情况,但这种情况在S7-200中是不会出现的。

电炉的温度控制使用S7-400 PLC与S7-300 PLC的方法几乎一样,程序的不同之处在于S7-300 PLC使用FB41,而S7-400 PLC使用SFB41。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈