脉宽调制
调节值的精度
自动同步
目录
fb43 “pulsegen”用于构造一个pid控制器,以生成脉冲输出,用于比例执行器。还可以配置带有脉宽调制的两步或三步pid控制器,通常与fb41一起使用。
图1. fb41cont_c 与fb43 “pulsegen”
主要参数
图2. fb43 “pulsegen 程序块
注:以tia potal v13 sp1为例,该功能块在step 7中的管脚与其相同
表1. fb43 “pulsegen 的输入参数
表2. fb43 “pulsegen 的输出参数
表3. fb43 “pulsegen 的静态变量
fb43 “pulsegen 的工作模式
脉宽调制
在每个周期持续时间内,脉冲的持续时间和输入变量成比例。 通过 per_tm 分配的周期与 pulsegen 指令的处理周期不同。 相反,per_tm 周期由 pulsegen 指令的多个处理周期组成,因此每个 per_tm 周期中 pulsegen 调用的次数决定了脉冲宽度的精度。
图3. fb43 “pulsegen 脉宽调制
调节值的精度
由上图可见:
“采样比率”为 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 发生变化,且块调用不在周期的个或后两个调用循环中,则执行同步。 脉冲持续时间将重新计算,并在下一个循环与新周期一起输出。
图4. fb43 “pulsegen 自动同步
如果 syn_on = false,自动同步将关闭。