目录 1 概述 1.1 应用 1.2 控制系统分析 2 PID系统控制器的选择 2.1 连续控制器、开关控制器 2.2 固定值控制器 2.3 级联控制器 2.4 混合控制器 2.5 比例控制器 2.5.1 单循环比例控制器 2.5.2 多循环比例控制器 2.6 二级控制器 2.7 三级控制器 3 布线 3.1 布线规则 3.1.1 连接电缆 3.1.2 屏蔽端接元件 3.1.3 警告 3.1.4 其它信息 4 参数赋值工具介绍 4.1 调试PID参数的用户界面 4.2 获取在线帮助的途径 5 在用户程序中实现 5.1 调用功能块 5.2 背景数据块 5.3 程序结构 6 功能块介绍 6.1 连续调节功能SFB 41/FB 41 “CONT_C” 6.1.1 简介 6.1.2 应用程序 6.1.3 说明 6.2 步进控制功能SFB 42/FB 42“CONT_S” 6.2.1 简介 6.2.2 应用程序 6.2.3 说明 6.3 脉冲宽度调制器SFB 43/FB 43“PULSEGEN” 6.3.1 简介 6.3.2 应用程序 6.3.3 说明 7 功能块举例
1 概述本文中所讨论的功能块(SFB41/FB41,SFB42/FB42,SFB43/FB43)仅仅是使用于S7和C7的CPU中的循环中断程序中。该功能块,定期计算所需要的数据,保存在指定的DB中(背景数据块)。允许多次调用该功能块。CONT_C块与PULSEGEN块组合使用,可以获得一个带有比例执行机构脉冲输出的控制器(例如,加热和冷却装置)。
注意:SFB41/42/43,与FB41/42/43兼容,可以用于CPU 313C、CPU 313C-2 DP/PTP 和CPU 314C-2 DP/PTP中。 1.1应用借助于由你组态大量模块组成的控制器,可以完成带有PID算法的实际控制器。控制效率,即处理速度取决于你所使用的CPU性能。对于给定的CPU,必须在控制器的数量和控制器所需要执行频率之间找到一个折衷方案。连接的控制电路越快,所安装的控制器数量越少,则每个时间单位计算的数值就越多。对于控制过程的类型没有限制。较慢(温度、填料位,等)以及较快的控制系统(流量、速度,等)都可以控制。 1.2控制系统分析控制系统的静态性能(增益)和动态性能(滞后、空载时间、积分常数,等),都是设计系统控制器及其静态参数(P操作)和动态参数(I、D操作)的主要因素。 因此,熟练掌握控制系统的类型和特性非常重要。(如图1,图2,图3,图4) 图 1 图 2 图 3 图 4 2 PID系统控制器的选择控制系统的属性由技术过程和机器条件决定。因此,为了获得良好的控制效果,你必须选择最适用的系统控制器。
2.1连续控制器、开关控制器
2.2固定值控制器固定值控制,使用设定固定数值进行的过程控制,只是偶尔修改一下参考变量,过程偏差的控制。 2.3级联控制器级联控制器,控制器串行连接控制。第一个控制器(主控制器)决定了串行控制器(从控制器)的设定点,或者根据过程变量的实际错误影响器设定点。 一个级联控制器的控制性能可以使用其它的过程变量加以改进。为此,可以为主控制变量添加一个辅助过程变量PV2(主控制器SP2的输出)。主控制器可以将过程变量PV1施加给设定点SP1,并且可以调整SP2,以便尽可能快地到达目标,而没有过调节。(如图5) 图 5 2.4混合控制器混合控制器是指根据每个被控组件所需要的设定点总数量,来计算总SP数量的一种控制结构。在此,混合系数FAC的和必须为“1”。(如图6) 图 6 2.5比例控制器2.5.1 单循环比例控制器单循环比例控制器,可以用于“两个过程变量之间的比率”比“两个过程变量的绝对数值”重要的场合。(例如,速度控制)。(如图7) 图 7 2.5.2 多循环比例控制器对于多循环比例控制,两个过程变量PV1和PV2之比保持为常数。因此,可以使用第一个控制循环的过程数值,来计算第二个控制循环的设定点。对于过程变量PV1的动态变化,也可以保证保持特定的比例。(如图8) 图 8 2.6二级控制器一个二级控制器只能采集两个输出状态(例如,开和关)。典型的控制为:一个加热的系统,通过继电器输出的脉冲宽度调制。 2.7三级控制器一个三级控制器只能采集到三个具体的输出状态。我们需要区分:“脉冲宽度调制”(例如,加热-冷却,加热-关机-冷却)和“使用集成执行机构的步进控制”(例如,左-停止-右)之间的区别。 3 布线对于没有集成的I/O控制器,你必须使用附加的I/O模块。 3.1布线规则3.1.1 连接电缆
3.1.2 屏蔽端接元件
3.1.3 警告
3.1.4 其它信息
4 参数赋值工具介绍借助于“PID参数设置”工具,可以很方便的调试功能块SFB41/FB41,SFB42/FB42的参数(背景数据块)。 4.1调试PID参数的用户界面在Windows操作系统中,调用“调试PID参数用户界面”的操作过程如下: Start > SIMATIC > STEP7 > PID Control Parameter Assignment(如图9)。 图 9
图 10
4.2获取在线帮助的途径当分配参数给FB41/ SFB41“CONT_C” 、FB42/ SFB42 “CONT_S” 或者FB43/SFB43 “PULSEGEN”时,你可以通过以下三条途径获得帮助: · 使用Step7菜单Help>Contents,获得相应的帮助信息; · 通过按下F1 键得到帮助; · 在PID参数设置对话框中,通过点击Help,可以得到具体的帮助信息。 5 在用户程序中实现以下章节将帮助你根据你的应用设计一个用户程序。 5.1调用功能块使用相应的背景数据块调用系统功能块。 举例:CALL SFB 41, DB30 (或者,CALL FB 41, DB 31) 5.2背景数据块系统功能块的参数将保存在背景数据块中。在第6章中将阐述这些参数。 你可以通过以下方式访问这些参数 · DB编号和偏移地址 · 数据块编号和数据块中的符号地址 5.3程序结构SFB必须在重新启动组织块OB100中和循环中断组织块OB30…38中调用。 模式: · OB100 Call SFB/FB 41、42、43, DB 30 · OB35 Call SFB/FB 41、42、43, DB 30 6 功能块介绍6.1连续调节功能SFB 41/FB 41 “CONT_C”6.1.1 简介SFB/FB“CONT_C”(连续控制器)用于使用连续的I/O变量在SIMATIC S7控制系统中控制技术过程。你可以通过参数打开或关闭PID控制器,以此来控制系统。通过参数赋值工具,可以很容易地做到这一点。调用: Start > SIMATIC > STEP 7 > PID Control Parameter Assignment(如图)。在线电子手册,见Start > SIMATIC > Documentation > English> STEP 7 – PIDControl(如图11)。 图 11 6.1.2 应用程序你可以使用控制器作为单独的PID定点控制器或在多循环控制中作为级联控制器、混合控制器和比例控制器使用。控制器的功能基于带有一个模拟信号的采样控制器的PID控制算法,如果必要的话,可以通过脉冲发送器(PULSEGEN)进行扩展,以产生脉冲宽度调制的输出信号,来控制比例执行机构的两个或三个步进控制器。 6.1.3 说明除了设定点操作和过程数值操作的功能以外,SFB41/FB 41(CONT_C)可以使用连续的变量输出和手动影响控制数值选项,来实现一个完整的PID控制器。下面是关于SFB 41/FB41(CONT_C)详细的子功能说明: 6.1.3.1 设定点操作设定点以浮点格式在“SP_INT”端输入。 6.1.3.2 实际数值操作过程变量可以在外围设备(I/O)或者浮点数值格式输入。“CRP_IN”功能可以将“PV_PER”外围设备数值转换为一个浮点格式的数值,在 –100和+100 % 之间,转换公式如下: CPR_IN 的输出=PV_PER x100 /27648 “PV_NORM”功能可以根据下述规则标准化“CRP_IN”的输出: 输出PV_NORM = (CPR_IN的输出)x PV_FAC + PV_OFF “PV_FAC”的缺省值为“1”,“PV_OFF”的缺省值为“0”。 变量“PV_FAC”和“PV_OFF”为下述公式转化的结果: PV_OFF =(PV_NORM的输出) - (CPR_IN的输出)x PV_FAC PV_FAC =(PV_NORM的输出) - PV_OFF)/(CPR_IN 的输出) 不必转换为百分比数值。如果设定点为物理确定,实际数值还可以转换为该物理数值。 6.1.3.3 负偏差计算设定点和实际数值之间的区别便形成负值偏差。为了抑制由于被控量的量化引起的小的、恒定的振荡(例如使用PULSEGEN进行脉冲宽度调制),在死区将施加一个死区(DEADBAND)。如果DEADB_W = 0,则死区将关闭。 6.1.3.4 PID算法PID算法作为一种位置算法进行控制。比例运算、积分运算(INT)和微商运算(DIF)都可并行连接,也可以单独激活或取消。这就允许组态成P、PI、PD和PID控制器。也可以是纯I和D调节器。 6.1.3.5 手动模式可以在手动模式和自动模式之间切换。在手动模式下,被控量被修改成手动选定的数值。 积分器(INT)内部设置为“LMN-LMN_P-DISV”,微商器(DIF) 内部设置为“0”,并进行内部匹配。这就是说切换到自动模式时不会引起被控量的突变。 6.1.3.6 受控数值的处理使用LMNLIMIT 功能,受控数值可以被限制为一个所选择的数值。当输入变量超出极限值时,信号位将指示。“LMN_NORM”功能可以根据下述公式标准化“LMNLIMIT”的输出: LMN = (LMNLIMIT的输出) x LMN_FAC +LMN_OFF “LMN_FAC”的缺省值为“1”,“LMN_OFF”的缺省值为“0”。 受控数值也适用于外围设备(I/O)格式。“CPR_OUT”功能可以将浮点值“LMN”转换为一个外围设备值,转换公式如下: LMN_PER = LMN x2764/10 6.1.3.7 前馈控制一个干扰变量被引入“DISV”端输入。 6.1.3.8 初始化SFB 41/FB 41“CONT_C”有一个初始化程序,可以在输入参数COM_RST =TRUE置位时运行。在初始化过程中,积分器可以内部设置为初始值“I_ITVAL”。如果在一个循环中断优先级调用它,它将从该数值继续开始运行。所有其他输出都设置为其缺省值。 6.1.3.9 出错信息故障输出参数RET_VAL不使用。 6.1.3.10 SFB/FB“CONT_C”(连续调节控制器)块图如图12。 图 12 6.1.3.11 输入参数SFB 41/FB 41“CONT_C”(如图13) 图 13 下表列出SFB 41/FB 41“CONT_C”输入参数的说明:
1) “设定值通道”和“过程变量通道”中的参数,应该有相同的单位。例如,如果使用PV_IN作为“过程物理值”或者“过程物理值百分比”,SP_INT必须使用相应相同的单位;如果使用PV_PER作为外围设备的实际数值,SP_INT只能使用“-100.0 至 +100.0(%)”作为设定值。如果设定值是SP_INT是0~10Mpa中的8Mpa,那么需要填写0.8,PV_PER填写硬件外设地址IW XXX; 2) 受控量通道中的参数应该有相同的单位。 6.1.3.12 输出参数下表列出SFB 41/FB 41“CONT_C”输出参数的说明:
6.2步进控制功能SFB 42/FB 42“CONT_S”6.2.1 简介SFB/FB“CONT_S”(步进控制器)用在SIMATIC S7可编程控制器上,用于二进制数控数值输出信号积分执行机构的控制技术过程。在参数赋值过程中,你可以激活或取消PI步进控制器的子功能,以使控制器与过程匹配。通过参数赋值工具,可以很容易地做到这一点。调用: Start > SIMATIC > STEP 7 > PID Control Parameter Assignment(如图)。在线电子手册,见Start > SIMATIC > Documentation > English> STEP 7 – PIDControl(如图)。 6.2.2 应用程序你可以使用该控制器作为单独的PI固定设定值控制器,或者在辅助控制循环(第二级闭环)中作为级联控制器、混合控制器或者比例控制器使用,但是不能用作主控制器(第一级调节器)。控制器的功能根据采样控制器的PI控制算法实现,由模拟执行信号生成二进制输出信号。 下列功能适用于CPU 314 IFM的FB V1.5或V1.1.0以上版本: 利用TI = T#0 ms,可以封锁调节器的积分分量。因此,允许功能块用作比例(P)控制器。 由于控制器不使用任何位置反馈信号,内部计算的受控变量将不能准确地匹配信号控制元件的位置。如果受控变量(ER*GAIN)为负值,应进行调整。然后调节器置位输出端QLMNDN(受控量信号低),直到LMNR_LS(位置反馈信号下限)被置位。 控制器还可以在一个控制器级联中用作一个辅助控制器(第二个执行器)。设定点输入端“SP_INT”用于赋值控制元件的位置。在这种情况下,实际数值输入和参数“TI(积分时间)”必须被设置为“0”。一个应用实例:通过电控阀瓣控制温度,即是借助二进制脉冲数值输出信号来控制热量输出的温度调节和利用阀门控制制冷容量。在这种情况下,为了全部关闭阀门,受控变量(ER*GAIN)应该有一个负值。 6.2.3 说明除了过程数据通道的功能外,SFB/FB“CONT_S”(步进控制器)可以使用一个数字受控数值输出和手动影响控制数值选项,来实现一个完整的PI控制器。步进控制器不使用位置反馈信号。限位信号可以用于限制脉冲输出。下面你可以找到详细的子功能说明: 6.2.3.1 设定点操作设定点以浮点数格式在“SP_INT”输入端上输入。 6.2.3.2 实际数值操作过程变量可以在外围设备(I/O)或浮点数格式输入。“CRP_IN”功能可以将“PV_PER”外围设备数值转换为一个浮点数格式的数值,在 –100和+100 % 之间,转换公式如下: CPR_IN 的输出=PV_PER x100/27648 “PV_NORM”功能可以根据下述公式标准化“CRP_IN”的输出: PV_NORM的输出 = (CPR_IN的输出) x PV_FAC + PV_OFF PV_FAC的缺省值为“1”,PV_OFF的缺省值为“0”。 变量“PV_FAC”和“PV_OFF”为下述公式转化的结果: PV_OFF = (PV_NORM的输出) - (CPR_IN的输出)x PV_FAC PV_FAC =((PV_NORM的输出) - PV_OFF)/(CPR_IN 的输出) 6.2.3.3 负偏差计算设定点和实际数值之间的区别便形成负值偏差。为了抑制由于受控变量的量化 造成的小的、恒定的振荡(例如,由于执行机构阀门引起的受控数值的波动),为负偏差设置了一个死区(DEADBAND)。如果DEADB_W = 0,则死区将被关闭。 6.2.3.4 PI步进算法SFB/FB“CONT_S”(步进控制器)不使用位置反馈信号。PI算法的积分操作和假定位置反馈信号都在积分器(INT)中计算,并作为一个反馈值与剩余P操作进行比较。比较差被用于一个三步元件(THREE_ST)和一个脉冲发生器(PULSEOUT),以生成执行机构的控制脉冲。控制器的开关频率可以通过在三步元件上采用阈值控制来减少。 6.2.3.5 前馈控制一个干扰变量被引入“DISV”输入端。 6.2.3.6 初始化操作SFB/FB“CONT_S”(步进控制器)有一个初始化程序,可以在输入参数COM_RST= TRUE置位时运行。所有其它输出端都设置为其缺省值。 6.2.3.7 出错信息故障输出参数RET_VAL不使用。 6.2.3.8 SFB/FB“CONT_S”(步进控制器)块图如图14 图 14
6.2.3.9 输入参数SFB 42/FB 42“CONT_S”(如图15) 图 15 下表列出SFB 42/FB 42“CONT_S”输入参数的说明:
3) “设定值通道”和“过程变量通道”中的参数,应该有相同的单位; 4) 受控量通道中的参数应该有相同的单位。 6.2.3.10 输出参数下表列出SFB 42/FB 42“CONT_S”输出参数的说明:
6.3脉冲宽度调制器SFB 43/FB 43“PULSEGEN”6.3.1 简介SFB/FB“PULSEGEN”(脉冲发生器)可以用于为PID控制器使用比例执行机构的脉冲输出。在线电子手册,见Start > SIMATIC > Documentation > English> STEP 7 – PIDControl(见图)。 6.3.2 应用程序使用SFB/FB“PULSEGEN” (脉冲发生器),可以通过脉冲宽度调制,组态PID两步或三级控制器。该功能一般与连续控制器SFB/FB“CONT_C”一起使用。(如图16) 图 16 6.3.3 说明功能“PULSEGEN”可以通过调制脉冲宽度,将输入变量“INV”(= PID控制器的LMN)转换为一个恒定周期的脉冲串,该恒定周期相当于输入变量刷新的循环时间,必须在“PER_TM”中赋值。 每个周期的脉冲宽度与输入变量成正比。“PER_TM”中的循环时间与SFB/FB“PULSEGEN”的处理时间不同。“PER_TM”循环时间由多个SFB/FB“PULSEGEN”执行循环之和。因此,每个“PER_TM”循环的SFB/FB“PULSEGEN”调用次数是脉冲宽度,可以精确测量脉冲宽度。最小受控数值在参数“P_B_TM”中确定。(如图17) 图17
6.3.3.1 脉冲宽度调制输入变量30%以及每个PER_TM循环时间调用SFB/FB“PULSEGEN”10次,含义如下: · 对于前三个SFB/FB“PULSEGEN”(10次调用的30 %),输出“QPOS”为“1” · 对于其余7个SFB/FB“PULSEGEN”(10次调用的70 %),输出“QPOS”为“0” 6.3.3.2 SFB/FB“PULSEGEN”块图如图18。 图 18 6.3.3.3 受控数值的精度如果“采样频率比例”为1:10(“CONT_C”调用与“PULSEGEN”调用之比),那么在这个例子中受控数值的精度降低为10 %。换句话说,设定的输入数值“INV”只能在 “QPOS” 输出端上以“10%”的步长转换成脉冲宽度。 只有当每次“CONT_C”调用中“PULSEGEN”调用的次数增加时,才能提高精度。 例如,如果每个“CONT_C”调用的“PULSEGEN”调用次数为100,受控数值的分辨率将达到 1%(建议分辨率<= 5="">=>)。
注意 “采样频率比例”必须由用户编程。
6.3.3.4 自动同步可以使刷新输入变量“INV”的块(例如,“CONT_C”),与脉冲输出自动同步。这就保证了输入变量中的一个变化可以尽可能快地输出为一个脉冲。 脉冲发生器可以根据“PER_TM”的周期为时间间隔,定期评价输入数值“INV”,并将该数值转换为相应长度的脉冲信号。 但是,由于“INV”一般在较慢的循环中断级中计算,所以脉冲发生器应在“INV”刷新后尽可能快地将具体数值转换为一个脉冲信号。 为此,块必须使用下述程序对周期的起点同步: 如果“INV”变化,并且块调用不在一个周期的第1个或最后两个调用循环中,可以进行同步。将重新计算脉冲宽度,并在下一个循环中输出一个新的周期。(如图19) 图 19 自动同步可以根据“SYN_ON”(= FALSE)输入关闭。 注意 在一个周期的开始,“INV”(即LMN)的先前数值的映像将被或多或少的混合到脉冲信号中。 6.3.3.5 PID控制器输出工作模式根据脉冲发生器所赋值的参数,可以将PID调节器组态成具有一个三级输出或者一个两向或单向的两极输出PID控制器。下表所示为可能模式的开关组合设置:
6.3.3.5.1三级控制在“三级控制”模式下,可以生成控制信号的三种状态。二进制输出信号“QPOS_P”和“QNEG_P”的数值可以赋值给执行机构的状态。 下表所示为一个温度控制的例子:
根据输入变量,使用一个特性曲线可以计算脉冲宽度。特性曲线的形状取决于最小脉冲时间或最大中断时间和比例系数。 比例系数的正常值为“1”。 曲线中的“拐点”是由于最小脉冲时间或最小中断时间造成的。 最小脉冲或最小间隔时间 正确赋值最小脉冲或最小中断时间“P_B_TM”,可以防止短促的开断时间,降低开关元件和执行机构的使用寿命。 注意 否则,会删除可以生成一个短于“P_B_TM”脉冲宽度的输入变量“LMN”的较小绝对值。可以生成脉冲宽度大于“PER_TM-P_B_TM”的较大输入值被设置为100 % 或-100 %。 正脉冲宽度和负脉冲宽度可以根据输入变量(单位[%])和周期时间相乘进行计算。 脉冲周期=INV / 100 xPER_TM 下图(如图20)所示为一个三级控制器的系统曲线(比例系数=1): 图 20 使用比例系数“RATIOFAC”,可以改变正脉冲宽度和负脉冲宽度之比。例如,对于热处理,这可用于使用不同的时间常数加热和冷却执行机构。 比例系数也会影响最小脉冲/暂停周期。比例系数<>意思是指负脉冲的阈值乘以比例系数。 比例系数 <> 通过输入数值乘以脉冲周期所计算的比例系数,可以减少负脉冲输出的脉冲周期。 正脉冲周期= INV/100 xPER_TM 负脉冲周期= INV/100 xPER_TM x RATIOFAC 下图(如图21)所示为一个三级控制器的系统曲线(比例系数=0.5): 图 21 比例系数 > 1 通过输入数值乘以脉冲周期所计算的比例系数,可以减少正脉冲输出的脉冲周期。 负脉冲周期=INV/100 xPER_TM 正脉冲周期=INV/100 xPER_T/ RATIOFAC 6.3.3.5.2二级控制对于二级控制,只能将PULSEGEN的正脉冲输出“QPOS_P”连接到I/O执行机构。根据所使用的受控数值范围,二级控制器可以有一个双极或单极受控数值范围。 6.3.3.5.2.1 两级调节,带双向调节区(-100%…+100%)图 22 6.3.3.5.2.2 两级调节,带单向调节区(0…+100%)图 23 如果控制循环中二级控制器的连接需要一个执行脉冲的逻辑转换二进制信号,可以在“QNEG_P”将输出信号进行“非”运算。
6.3.3.5.3二级控制或三级控制中的手动模式在手动模式(MAN_ON = TRUE)中,三级控制器或二级控制器的二进制输出可以使用信号 “POS_P_ON”和“NEG_P_ON”以及“INV”进行设置。
6.3.3.6 初始化SFB“PULSGEN”有一个初始化程序,可以在输入参数COM_RST= TRUE置位 时运行。 所有信号都被设置为“0”。 6.3.3.7 出错信息故障输出参数RET_VAL不使用。 6.3.3.8 输入参数SFB 43/FB 43“PULSEGEN”(如图24) 图 24 下表列出SFB 43/FB 43“PULSEGEN”输入参数的说明:
输入参数的数值在块中没有限制。没有参数检查。 6.3.3.9 输出参数下表列出SFB 43/FB 43“PULSEGEN”输出参数的说明:
小编推荐 ![]() 2017年暑期师资训练营--一起走进比亚迪工厂! 2018年ABB FANUC工业机器人集成技术班最新课程内容
▣ 来源:自动化电气系统,作者杨萧 |
|
来自: 秋收冬藏dhxilc > 《南山清洗线调试》