TCONT_CP(S7-300, S7-400) TCONT_CP 说明 (S7-300, S7-400) 指令 TCONT_CP用于控制具有连续或脉冲控制信号的温度处理过程。控制器功能基于 PID 控制算法及其它适用于温度过程的功能。为改进对温度过程的控制响应,该块包括了一个控制 区,并在设定值阶跃变化时减少比例分量。该指令可以通过控制器优化功能自行设置 PI/PID 参数。 应用控制器控制一个执行器;使用一个控制器可进行加热或冷却操作,但不能进 行这两种操作。如果将该块用于冷却,必须为 GAIN分配一个负值。控制器的这种反转意味 着,例如温度上升时,调节变量 LMN 会增大,冷却操作也随之加强。 调用 指令 TCONT_CP必须以恒定总线循环时间调用。要达到该目的,可以使用循环中断优先级等级 (例如,S7-300 的 OB35)。 TCONT_CP指令具有一个初始化例程,在设置输入参数 COM_RST = TRUE 时将运行该例程。 初始化过程中,积分作用被设置为初始化值I_ITVAL,所有信号输出都设置为零在执行完。
PULSEGEN 输出参数(S7-300, S7-400) 表格 4-268 参数 数据类型 默认值 说明 QPOS_P BOOL FALSE如果要输出脉冲,输出参数“输出信号正向脉冲”将被 置位。 在三步控制中,此项始终为正向脉冲。 在两步控 制中,QNEG_P始终设置为与 QPOS_P 反向。 QNEG_P BOOL FALSE 如果要输出脉冲,输出参数“输出信号负向脉冲”将被 置位。在三步控制中,此项始终是负向脉冲。 在两步控 制中,QNEG_P 始终设置为与 QPOS_P 反向。 参见 相较于 PULSEGENS7-300/400 的区别。初始化例程后,块将 COM_RST 重新设置成 FALSE。如果需要在 CPU 重启时执行初始化,则可在 OB 100 中调用此块 (COM_RST = TRUE)。TCONT_CP 的工作模式 (S7-300, S7-400)设定值分支 在输入 SP_INT 中输入浮点格式的设定值,作为物理值或者百分比值。用于形成控制偏差的设定值和过程值必须采用相同的单位。 过程值选项 (PVPER_ON) 根据 PVPER_ON,可读取 I/O格式或浮点数格式的过程值。 PVPER_ON 过程值输入 TRUE 通过输入 PV_PER 中的模拟量 I/O (PIW xxx) 读取过程值。 FALSE 在输入 PV_IN 处采集浮点格式的过程值。 过程值格式转换 CRP_IN (PER_MODE) 函数CRP_IN 按照下列规则并根据 PER_MODE 开关设置,将 I/O 值 PV_PER 转换为浮点格式:过程值标定PV_NORM(PF_FAC,PV_OFFS) 函数 PV_NORM 根据以下规则计算 CRP_IN 的输出: “PV_NORM的输出” = “CRP_IN 的输出” * PV_FAC + PV_OFFS 有以下用途: • 以 PV_FAC为过程值因子、PV_OFFS 为过程值偏移量进行过程值调整。 • 将温度值标定为百分比值如果要以百分比的形式输入设定值,现在必须将测得的温度值转换成百分比值。 • 将百分比值标定为温度值如果想要以物理温度单位输入设定值,现在必须将测得的电压/电流值转换成温度值。 参数计算: • PV_FAC = PV_NORM的范围/CRP_IN 的范围; • PV_OFFS = LL (PV_NORM) - PV_FAC * LL(CRP_IN);其中,LL:下限 标定通过默认值(PV_FAC = 1.0 和PV_OFFS = 0.0)关闭。在 PV 输出中输出有效过程值。 说明对于脉冲控制,必须在快速脉冲调用中将过程值传送到块中(原因:平均值过滤)。否则, 控制质量会变差。 过程值标定示例如果要以百分比的形式输入设定值,并且 CRP_IN 的温度范围为 -20 到 85 °C,则必须将温度 范围标准化为百分比值。下图给出的示例说明了如何将 -20 到 85 °C 的温度范围修改为 0 到 的内部标定:形成控制偏差在到达死区之前,设定值与过程值的差值就是控制偏差。 设定值与过程值的单位必须相同。 死区 (DEADB_W)为了抑制由于调节变量量化所引起的小幅持续振荡(例如,在使用 PULSEGEN 进行脉宽调制 时),可对控制偏差使用死区(DEADBAND)。在 DEADB_W = 0.0 时,将禁用死区。控制偏 差的有效性由 ER 参数指示。PID算法(GAIN、TI、TD、D_F) PID 算法作为位置算法运行。比例、积分 (INT) 和微分 (DIF)作用是并行连接在一起的,可以 单独激活或禁用。这样便可组态 P、PI、PD 和 PID 控制器。 控制器调节功能支持 PI 控制器和PID 控制器。使用负 GAIN 实现控制器反转(冷却控制 器)。 如果将 TI 和 TD 设置为 0.0,则将在工作点获得一个纯 P控制器。 在时间范围内的阶跃响应是:其中: LMN_Sum(t) 是控制器自动模式中的调节变量。 ER (0)是标准化控制偏差的阶跃高度 GAIN 是控制器增益 TI 是积分时间积分作用(TI、I_ITL_ON、I_ITLVAL)在手动模式下,使用以下公式进行修正:LMN_I = LMN - LMN_P - DISV如果输出值受限,则积分作用将停止。如果控制偏差使积分作用移回到输出范围方向,则将 启用积分作用。 也可通过以下方法来修改积分作用:• 通过 TI = 0.0 禁用控制器的积分作用 • 当设定值发生变化时,弱化比例作用 • 控制区 • 在线修改输出值的限值当设定值发生变化时,弱化比例作用 (PFAC_SP) 为了防止过调,可以使用参数“用于设定值更改的比例因子”(PFAC_SP)来弱化比例作用。通 过 PFAC_SP,可在 0.0 到 1.0 之间连续选择,以确定设定值发生变化时比例作用的效果: •PFAC_SP = 1.0:应对设定值变化的比例作用完全有效 • PFAC_SP = 0.0:应对设定值变化的比例作用无效也可通过补偿积分作用来弱化比例作用。微分作用(TD、D_F) • 通过 TD = 0.0 可禁用控制器的微分作用 •如果微分作用处于激活状态,则下列关系成立: TD = 0.5 * CYCLE * D_F 带工作点的 P 或 PD 控制器的参数设置在用户界面中,可禁用积分作用 (TI = 0.0),也可禁用微分作用 (TD = 0.0)。进行如下参 数设置: •I_ITL_ON = TRUE • I_ITLVAL = 工作点; 前馈控制 (DISV) 可在 DISV 输入中添加扰动变量。计算输出值 下图显示的是输出值计算过程的方框图:控制区(CONZ_ON、CON_ZONE) 如果 CONZ_ON =TRUE,则控制器在控制区范围内工作。也就是说,控制器按照以下算法进 行工作: • 如果过程值 PV 超出设定值 SP_INT的数值大于 CON_ZONE,则值 LMN_LLM 将作为调节 变量输出。 • 如果过程值 PV 小于设定值 SP_INT 的数值大于CON_ZONE,则输出为 LMN_HLM。 • 如果过程值 PV 位于控制区 (CON_ZONE) 范围内,则通过 PID 算法LMN_Sum 获取输出值。 说明 将调节变量由 LMN_LLM 或 LMN_HLM 更改为 LMN_Sum 时以控制区的 20%的滞后为前 提。说明 在手动启用控制区之前,请确保控制区范围不会过窄。如果控制区范围过窄,则调节变 量和过程值会产生振荡。控制区的优点 当过程值进入控制区时,D 作用会导致调节变量数值急剧下降。这意味着仅当激活 D 作用时,控制区才有用。如果没有控制区,只有减小比例作用才能从本质上减小调节变量。如果Zui小或Zui大调节变量都远离新工作点所需的调节变量,则控制区会促使快速稳定,而不会产生过 调或欠调。 手动值处理(MAN_ON、MAN)可以在手动与自动模式之间切换。在手动模式下,调节变量被修正为手动选择的值。积分作用 (INT) 内部设置为 LMN - LMN_P -DISV,微分作用 (DIF) 内部设置为 0 并同步。可以平滑地切换到自动模式。 说明 MAN_ON 参数在调节期间无效。输出值的限值 LMNLIMIT(LMN_HLM、LMN_LLM) LMNLIMIT 函数用于将输出值限制为限值 LMN_HLM 和LMN_LLM。如果达到了这些限制值, 则通过消息位 QLMN_HLM 和 QLMN_LLM 进行指示。如果输出值受限,则积分作用将停止。如果控制偏差使积分作用移回到输出范围方向,则将 启用积分作用。 在线更改调节值限值如果输出值的范围缩小,并且输出值的不受限新值超出了限值范围,则积分作用会发生改变, 从而改变输出值。输出值的减小幅度与输出值限值的变化幅度相同。如果输出值在改变之前不受限制,其将被 设置为新的限值(此处指输出值的上限)。 输出值的标定LMN_NORM(LMN_FAC、LMN_OFFS) 函数 LMN_NORM 按照以下规则对输出值进行标准化: LMN = LmnN* LMN_FAC + LMN_OFFS 有以下用途: • 以 LMN_FAC 为输出值因子、以 LMN_OFFS为输出值偏移量进行输出值标定。 输出值也可以使用 I/O 格式。函数 CRP_OUT 按照以下规则将 LMN 浮点值转换为 I/O值: LMN_PER = LMN * 27648/100 标定通过默认值(LMN_FAC = 1.0 和 LMN_OFFS =0.0)关闭。有效的输出值将被发送至输 出 LMN。