咱也不会用这个块,查资料:SFB 43/FB 43 "PULSEGEN"生成脉冲
PULSEGEN功能通过脉宽调制将输入变量INV (= PID控制器的操作值)转换为具有恒定周期的脉冲列,从而与输入变量的更新周期及必须在PER_TM中分配的周期相应。
每周期脉冲宽度与输入变量成比例。分配给PER_TM的周期与SFB/FB "PULSEGEN"的处理周期不完全相同。PER_TM周期由若干个SFB/FB "PULSEGEN"处理周期组成,因此可以将每个PER_TM周期SFB/FB "PULSEGEN"调用的数量作为脉宽调制精度的衡量标准。
脉宽调制
输入变量为30%、每个PER_TM有10个SFB/FB "PULSEGEN"调用的含义如下:
?前三次SFB/FB "PULSEGEN"调用(10次调用的30%)在QPOS输出为"一"
?后七次SFB/FB "PULSEGEN"调用(10次调用的70%)在QPOS输出为"零"
方框图
操作值的精度
"采样比率"为1:10 (CONT_C调用与PULSEGEN调用之比)时,此实例中的操作值精度将限制在10%,换言之,设置的输入值INV只能在QPOS输出通过以10%为步长的脉冲宽度进行模拟。
精度随每个CONT_C调用的SFB/FB "PULSEGEN"调用数的增加而增加。
例如,如果调用PULSEGEN的频率是调用CONT_C频率的100倍,则获得的操作值范围的精度为1%。
注意调用频率必须由用户进行设置。
自动同步
可以将脉冲输出与更新输入变量INV (例如,CONT_C)的块同步。这样可以确保输入变量更新的输出速度尽可能达到脉冲速度。
脉冲发生器以与PER_TM周期相应的间隔判断输入值INV,并将该值转换为相应长度的脉冲信号。
不过,由于INV通常是在较慢的周期性中断级别计算,脉冲发生器应在更新INV后尽快开始将离散值转换为脉冲信号。
为此,该块可以执行下列步骤来同步周期的开始:
如果INV发生变化且块调用不是发生在时期的前两个或后两个调用周期,则执行同步。将重新计算脉冲宽度,并在下一周期与新时期一起输出。
可以在"SYN_ON"输入禁用自动同步
(= FALSE)。
注意随着新的周期的开始,将在同步后于脉冲信号中近似精确地模拟INV的原值(即LMN值)。
模式
根据分配给脉冲发生器的参数,可以组态具有三步输出或双极或单极两步输出的PID控制器。下表列出了可能模式的开关组合设置。
切换
模式 MAN_ON STEP3_ON ST2BI_ON
三步控制 FALSE TRUE ANY
具有双极控制范围的
两步控制
(-100%至 +100%) FALSE FALSE TRUE
具有单极控制范围
的两步控制
(0% ... 100 %) FALSE FALSE FALSE
手动模式 TRUE ANY ANY
三步控制
在"三步控制"模式下,激励信号可以具有三种状态。将二进制输出信号QPOS_P和QNEG_P的值分配给执行机构的状态。
下表提供了一个温度控制实例:
执行机构
输出信号 烘炉 关闭 冷却
QPOS_P TRUE FALSE FALSE
QNEG_P FALSE FALSE TRUE
基于输入变量,采用某一特性曲线计算脉冲宽度。特性曲线的形状由最小脉冲或最小中断时间及比率因子定义。
比率因子的正常值为1。
曲线中的"转折"由最小脉冲或最小中断时间引起。
最小脉冲或最小中断时间
正确指定最小脉冲或最小中断时间P_B_TM可以防止频繁开/关,频繁开/关会缩短开关元件和执行机构的使用寿命。
注意输入变量LMN处那些小绝对值会受到抑制,否则它们会生成较P_B_TM更短的脉冲宽度。将生成比(PER_TM - P_B_TM)长的脉冲宽度的大输入值设置为100%或 -100%。
通过将输入变量(%)与周期时间相乘获得正脉冲或负脉冲的宽度。
下图显示的是三步控制器的对称曲线(比率因子 = 1)。
非对称三步控制
使用比率因子RATIOFAC可以更改正脉冲与负脉冲宽度的比率。例如,在热处理中,这使得加热和冷却可以有不同的系统时间常数。
比率因子还影响最小脉冲或最小中断时间。比率因子 < 1意味着负脉冲的阈值与比率因子相乘。
比率因子 < 1
比率因子会缩短将输入变量与周期时间相乘所得到的负脉冲输出脉冲宽度。
下图显示三步控制器的非对称曲线(比率因子 = 0.5):
比率因子 > 1
比率因子会缩短将输入变量与周期时间相乘所得到的正脉冲输出脉冲宽度。
两步控制
在两步控制中,只会将PULSEGEN的正脉冲输出QPOS_P连接到开/关执行机构。视所使用的操作值范围,两步控制器将具有双极或单极操作值范围。
具有双极操作变量范围的两步控制
(-100%至100%)
具有单级操作变量范围的两步控制
(0%至100%)
如果控制回路中的两步控制器的连接需要使用逻辑取反的二进制信号来激励脉冲,可在QNEG_P获得取反输出信号。
执行机构
脉冲 开 关闭
QPOS_P TRUE FALSE
QNEG_P FALSE TRUE
两步/三步控制的手动模式
在手动模式(MAN_ON = TRUE)下,无论INV为何值,均可使用信号POS_P_ON和NEG_P_ON设置三步或两步控制器的二进制输出。
控制 POS_P_ON NEG_P_ON QPOS_P QNEG_P
三步控制 FALSE FALSE FALSE FALSE
TRUE FALSE TRUE FALSE
FALSE TRUE FALSE TRUE
TRUE TRUE FALSE FALSE
两步控制 FALSE ANY FALSE TRUE
TRUE ANY TRUE FALSE
初始化
SFB/FB "PULSGEN"有一个在输入参数COM_RST = TRUE时自动运行的初始化程序。
所有信号输出都设置为0。
故障信息
不使用出错输出参数RET_VAL。
输入参数
参数 数据类型 取值范围: 默认 描述
INV REAL -100.0...100.0 (%) 0.0 INPUT VARIABLE
将模拟操作值连接到
输入参数"输入变量"。
PER_TM TIME >=20*CYCLE T#1s PERIOD TIME
使用"周期"输入参数输入
脉宽调制的
恒定周期。它对应于控制器的采样
时间。脉冲发生器
采样时间与控制器采样时间的比率
决定脉宽调制的
精度。
P_B_TM TIME >= CYCLE T#0ms MINIMUM PULSE/BREAK TIME
可以在输入参数
"最小脉冲或最小中断时间"分配
最小脉冲或最小中断时间。
RATIOFAC REAL 0.1 ...10.0 1.0 RATIO FACTOR
可以使用输入参数"比率因子"
来改变负脉冲宽度与正脉冲宽度
的比率。在热处理中,
这使(例如)为加热和冷却
补偿不同的时间常数
(例如,在使用电加热和
水冷却的工艺中)
成为可能。
STEP3_ON BOOL TRUE THREE STEP CONTROL ON
"启用三步控制"输入参数
可以激活此模式。在三步控制中,
两个输出信号都处于激活状态。
ST2BI_ON BOOL FALSE TWO STEP CONTROL FOR BIPOLAR MANIPULATED VALUE RANGE ON
使用输入参数"启用双极操作值范围的两步控制"
可以在"双极操作值的
两步控制"模式和
"单极操作值范围
的两步控制"模式间
进行选择。必须设置参数
STEP3_ON = FALSE。
MAN_ON BOOL FALSE MANUAL MODE ON
通过设置输入参数"启用手动模式"
可以手动
设置输出信号。
POS_P_ON BOOL FALSE POSITIVE PULSE ON
在采用三步控制的手动模式下,
可以在输入参数"启用正脉冲"
设置输出信号QPOS_P。在采用两步控制
的手动模式下,
QNEG_P始终设置为与
QPOS_P反向。
NEG_P_ON BOOL FALSE NEGATIVE PULSE ON
在采用三步控制的手动模式下,
可以在输入参数"启用负脉冲"
设置输出信号QNEG_P。在采用两步控制
的手动模式下,
QNEG_P始终设置为与
QPOS_P反向。
SYN_ON BOOL TRUE SYNCHRONIZATION ON
通过设置输入参数
"启用同步",可以
自动与更新输入变量
INV的块同步。这样可以
确保变化的输入变量的输出速度
尽可能达到脉冲速度。
COM_RST BOOL FALSE COMPLETE RESTART
该块有一个在设置了COM_RST输入时
自动执行的初始化程序
CYCLE TIME >= 1毫秒 T#10ms SAMPLING TIME
块调用间的时间必须为
常数。"采样时间"输入指定
块调用之间的时间。
注意输入参数的值在块中不受限制。不进行参数检查。
输出参数
参数 数据类型 值 默认 描述
QPOS_P BOOL FALSE OUTPUT POSITIVE PULSE
将在要输出脉冲时设置
输出参数"输出正脉冲"。在三步控制中,此项始终
为正脉冲。在两步控制中,QNEG_P
始终设置为与QPOS_P反向。
QNEG_P BOOL FALSE OUTPUT NEGATIVE PULSE
将在要输出脉冲时
设置输出参数"输出负脉冲"。在三步控制中,此项始终
是负脉冲。在两步控制中,QNEG_P
始终设置为与QPOS_P反向。