PULSEGEN 说明 指令PULSEGEN 用于构造具有比例执行器脉冲输出的 PID 控制器。PULSEGEN 通过脉宽调制将 输入值 INV(= PID控制器的 LMN)转换成具有恒定周期持续时间的脉冲序列,该周期持续时 间对应于更新输入值时所用的循环时间。 应用 可以用PULSEGEN 指令来组态具有脉宽调制的两步或三步 PID 控制器。该函数通常与连续控制 器 CONT_C 一起使用。调用PULSEGEN 指令具有一个初始化例程,在设置输入参数 COM_RST = TRUE 时将运行该例程。所有信号输出都被设置为零。完成初始化例程后,必须设置 COM_RST = FALSE。只有以固定时间间隔调用块时,在控制块中计算的值才是正确的。应在循环中断 OB(OB 30 到 OB 38)中调用控制块。在CYCLE 参数中输入采样时间。 出现错误时的响应 错误消息字 RET_VAL 不由块进行评估。 372 PID 控制 功能手册,11/2023, A5E35300232-AG 指令 10.4 PID 基本功能PULSEGEN 的工作模式 脉宽调制在每个周期持续时间内,脉冲的持续时间和输入变量成比例。通过 PER_TM 分配的周期与 PULSEGEN指令的处理周期不同。PER_TM 周期由 PULSEGEN 指令的多个处理周期组 成,每个 PER_TM 周期中PULSEGEN 调用的次数决定了脉冲宽度的精度。
每个 PER_TM 中 30 % 的输入变量和10 次 PULSEGEN 调用表示以下结果: • 前三次 PULSEGEN 调用时 QPOS_P 输出为“1”(10 次调用的30%) • 后七次 PULSEGEN 调用时 QPOS_P 输出为“0”(10 次调用的 70%)调节值的精度 “采样比率”为1:10(CONT_C 调用与 PULSEGEN 调用之比)时,此示例中的调节值精度将限制 为 10%,换言之,只能在输出QPOS_P 以 10% 为步长的脉冲持续时间对设置的输入值 INV 进 行模拟。 精度将随每次 CONT_C 调用中PULSEGEN 调用的次数的增加而提高。 例如,如果调用 PULSEGEN 的频率是调用 CONT_C 频率的 100倍,则获得的操作值范围的精 度为 1%。 说明 调用频率的减速比必须由用户编程设定。自动同步 可以使脉冲输出与更新输入变量 INV的指令(例如 CONT_C)自动同步。这样可以确保尽快将 输入变量的变化输出为脉冲。 脉冲整形器以对应周期持续时间 PER_TM的时间间隔评估输入值 INV,并将该值转换成相应长 度的脉冲信号。 由于通常以较慢的循环中断等级计算 INV,在 INV更新之后,脉冲整形器应尽快开 始将离散值转换为脉冲信号。 为此,块可以使用以下步骤来与周期的起始点同步: 如果 INV发生变化,且块调用不在周期的第一个或Zui后两个调用循环中,则执行同步。脉冲持 续时间将重新计算,并在下一个循环与新周期一起输出。如果SYN_ON = FALSE,自动同步将关闭。 说明 如果旧的 INV 值(即 LMN的值)映射到脉冲信号,则开始新周期和后续同步通常会导致某种 不jingque的情况产生。PULSEGEN 的工作模式 模式根据分配给脉冲整形器的参数,可以组态带有三位输出或者带有双极性或单极性两位输出的 PID 控制器。下表给出了可能的模式所对应的开关组合的设置。三位控制 三位控制在“三步控制”模式下,可以生成执行信号的三种状态。为此,将二进制输出信号 QPOS_P 和 QNEG_P的状态值分配给执行器的相应工作状态。下表给出了温度控制的示例: 输出信号 加热 灭 冷却 QPOS_P TRUE FALSEFALSE QNEG_P FALSE FALSE TRUE通过特性曲线按输入变量计算脉冲持续时间。特性曲线的形状由Zui小脉冲持续时间或Zui小间隔 及比率因子定义。比率因子的标准值为 1。曲线中的“转折”由Zui小脉冲持续时间或Zui小间隔引起。 Zui小脉冲持续时间或Zui小间隔 正确分配的Zui小脉冲持续时间或Zui小间隔 P_B_TM可以防止短暂开/关次数,避免由此而缩短 开关元件和执行器的使用寿命。如果由输入变量 LMN 的较小juedui值产生的脉冲持续时间小于P_B_TM,则这些juedui值将被抑制。如果较大输入值生成的脉冲持续时间大于 PER_TM - P_B_TM,这些输入值将被设置为 或 -。 非对称三步控制 使用比率因子 RATIOFAC可以更改正脉冲与负脉冲持续时间的比率。例如,在热过程中,可为 加热和冷却过程使用不同的系统时间常数。 比率因子 < 1将输入变量与周期持续时间相乘所得到的负向脉冲输出的脉冲持续时间与比率因子相乘。 正向脉冲持续时间 = INV /100 *PER_TM 负向脉冲持续时间 = INV / 100 * PER_TM * RATIOFAC下图显示了三步控制器的非对称特性曲线(比率因子 = 0.5):PID 控制 功能手册, 11/2023, A5E35300232-AG指令 10.4 PID 基本功能 用输入变量(以 % 表示)乘以周期持续时间来计算正或负脉冲的持续时间: 脉冲持续时间 = INV /100 * PER_TM 下图显示了三步控制器的对称特性曲线(比率因子 = 1)。比率因子 > 1将输入变量与周期持续时间相乘所得到的正向脉冲输出的脉冲持续时间除以比率因子。 正向脉冲持续时间 = INV / 100 *PER_TM / RATIOFAC 负向脉冲持续时间 = INV / 100 * PER_TM两位控制 在两步控制中,只会将PULSEGEN 的正向脉冲输出 QPOS_P 连接到开/关执行器。根据所使用 的调节值范围,两步控制器具有双极或单极调节值范围。具有双极调节变量范围的两步控制 (- 到 )PULSEGEN 输入参数 输入参数的值在块中不受限制。 没有参数检查。表格 10-17 参数 数据类型 默认值 说明 INV REAL 0.0在输入参数“输入变量”中连接模拟调节变量。 允许介于 -100 到 100 % 之间的值。 PER_TM TIME T#1s在参数“周期持续时间”中输入脉宽调制的恒定周期持续时间。 该时间对应于控制器的采样 时间。脉冲整形器采样时间与控制器采样时间的比率决定脉宽调制的精度。 PER_TM >=20*CYCLE P_B_TM TIMET#50 ms 可在参数“Zui小脉冲/中断时间”中分配Zui小脉冲/中断时间。 P_B_TM >= CYCLE RATIOFACREAL 1.0 使用“比率因子”输入参数可以更改正向脉冲持续时间与负向脉冲持续时间的比率。 例如,在热处理中,可以为加热和冷却补偿不同的时间常数(例如,在使用电加热和水冷却的工 艺中)。 允许介于 0.1 到 10.0 之间的值。STEP3_ON BOOL TRUE 在输入参数“启用三步控制”中激活适当的模式。 在三步控制中,两个输出信号都处于激活 状态。ST2BI_ON BOOL FALSE 在输入参数“启用双极性调节值范围的两位控制”中,可以在“双极性调节值范围的两位控制”和“单极性调节值范围的两位控制”模式之间选择。STEP3_ON = FALSE 是必需的。 MAN_ON BOOL FALSE通过设置输入参数“启用手动模式”可手动设置输出信号。 POS_P_ON BOOL FALSE对于处于手动模式下的三步控制,可在输入参数“正向脉冲开启”中操作输出信号 QPOS_P。 在两步控制的手动模式下,QNEG_P始终设置为与 QPOS_P 反向。 NEG_P_ON BOOL FALSE对于处于手动模式下的三步控制,可在输入参数“负向脉冲开启”中操作输出信号 QNEG_P。 在两步控制的手动模式下,QNEG_P始终设置为与 QPOS_P 反向。参数 数据类型 默认值 说明 SYN_ON BOOL TRUE通过设置输入参数“启用同步”,可以使脉冲输出自动与更新输入变量 INV 的块同步。 这样 可以确保尽快将输入变量的变化输出为脉冲。COM_RST BOOL FALSE 该块具有一个初始化例程,在对输入“重启”进行置位时将处理该例程。 CYCLE TIMET#10ms 块调用之间的时间间隔必须恒定。 “采样时间”输入用于指定块调用之间的时间。 CYCLE >= 1msTCONT_CP 说明 指令 TCONT_CP 用于控制具有连续或脉冲控制信号的温度处理过程。控制器功能基于 PID 控制算法及其它适用于温度过程的功能。为改进对温度过程的控制响应,该块包括了一个控制区, 并在设定值阶跃变化时减少比例分量。该指令可以通过控制器优化功能自行设置 PI/PID 参数。 应用控制器控制一个执行器;使用一个控制器可进行加热或冷却操作,但不能进行 这两种操作。如果将该块用于冷却,必须为 GAIN分配一个负值。控制器的这种反转意味着, 例如温度上升时,调节变量 LMN 会增大,冷却操作也随之加强。 调用 指令 TCONT_CP必须以恒定总线循环时间调用。要达到该目的,可以使用循环中断优先级等 级(例如,S7-300 的 OB35)。 TCONT_CP指令具有一个初始化例程,在设置输入参数 COM_RST = TRUE 时将运行该例程。初 始化过程中,积分作用被设置为初始化值I_ITVAL。所有信号输出都设置为零。在执行完初始 化例程后,块将 COM_RST 重新设置成 FALSE。如果需要在 CPU重启时执行初始化,则可在 OB 100 中调用此块 (COM_RST = TRUE)。PULSEGEN 输出参数 表格10-18 参数 数据类型 默认值 说明 QPOS_P BOOL FALSE如果要输出脉冲,输出参数“输出信号正向脉冲”将被置位。 在三 步控制中,此项始终为正向脉冲。 在两步控制中,QNEG_P 始终设置为与 QPOS_P 反向。 QNEG_P BOOL FALSE 如果要输出脉冲,输出参数“输出信号负向脉冲”将被置位。 在三步控制中,此项始终是负向脉冲。 在两步控制中,QNEG_P 始终 设置为与 QPOS_P 反向。