您现在的位置是:首页 > PLC技术 > PLC技术

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

来源:艾特贸易2018-07-04

简介S7-300 PLC 提供有 PID 控制功能块来实现 PID 控制。 STEP 7 提供了系统功能块 SFB41 、 SFB42 、 SFB43 实现 PID 闭环控制,其中 SFB41 “ CONT C ”用于连续控制, SFB42 “ CONT_S ”用于步进控制, S

    S7-300 PLC提供有PID控制功能块来实现PID控制。STEP 7提供了系统功能块SFB41SFB42SFB43实现PID闭环控制,其中SFB41CONT C”用于连续控制,SFB42CONT_S”用于步进控制,SFB43PULSEGEN”用于脉冲宽度调制,它们位于文件夹“LibrariesStandardLibraryPID Controller”中。位于文件夹“LibrariesStandard LibraryPID Controller”的FB41FB41FB43SFB41SFB42SFB43兼容,FB58FB59则用于PID温度控制。它们是系统固化的纯软件控制器,运行过程中循环扫描、计算所需的全部数据存储在分配给FBSFB的背景数据块里,因此可以无限次调用。

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

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

    【解】

    1.主要软硬件配置

    1STEP7V5.4SP4

    1CPU 314C-2DP

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

    1台电炉(含控制板)。

 硬件配置图

    7-1    硬件配置图

    2.硬件组态

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

新建工程并插入站点

    7-2    新建工程并插入站点

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

更改地址

    7-3    更改地址

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

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

设置模拟输入量测量范围

    7-4    设置模拟输入量测量范围

设置模拟输出量测量范围

    7-5    设置模拟输出量测量范围

    3.相关指令介绍

   (1) SFB41指令

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

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

    7-1    SFB41指令参数

SFB41指令参数

SFB41指令参数

   (2) FC105指令

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

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

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

    7-2    FC105指令参数

FC105指令参数

    4.编写程序

   OB1中的程序如图7-6所示;OB100中的程序如图7-7所示,目的是重启PIDOB35中的程序如图7-8所示,每0.1s作一次PID运算。

OB1中的程序

    7-6    OB1中的程序

OB100中的程序

    7-7    OB100中的程序

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

OB35中的程序

    7-8    OB35中的程序

(作者稿费要求:需要高清无水印文章的读者3元每篇,请联系客服,谢谢!在线客服:艾特贸易网客服为您服务