带有通道指定的脉冲输出指令(PWM输出)
此指令根据指定的DUT传送脉宽调制输出信号。当指定通道的控制标志为FALSE且执行条件为TRUE时,从该通道输出脉冲。
输入
包含数据表的区域的开始地址
脉冲输出通道:
FP-XH C30 T/P: 0~3
FP-XH C60 T/P: 0~5
FPS: 0,2
FP-X, FP-XH Relay: 0,1
FP-X, FP-XH 16k Transistor: 0~2
FP0R, FP0H, FP-X, FP-XH 32 Transistor: 0~3
FP-XH 32k Transistor: 0~5
使用以下预定义DUT:F173_PulseOutput_PWM_Hz_DUT
可以在DUT中指定以下参数:
近似频率
占空比(对于脉冲持续时间和周期)
矩形波形的脉冲持续时间和周期之间的比例。对于脉冲持续时间为1ms且脉冲周期为4ms的脉冲序列,占空比为0,25或25%。
视负载电压和负载电流而定,占空比(特别是当其接近最小或最大值时)可能会与指定的占空比不同。
可对各扫描更改占空比。
在指令执行期间,无法更改频率常量K。如果更改,将对频率无效,但对占空比的分辨率有影响。
当正在执行指令时,如果占空比更改为允许范围以外的值,占空比将被调节到最大值。当开始执行指令时,将显示运算错误。
当正在执行指令时,如果频率更改为允许范围以外的值,分辨率将被调节为100。当开始执行指令时,将不显示运算错误。
当正在执行指令时,如果占空更改为100%或更高,频率将以指定分辨率被调节到最大值。当开始执行指令时,将不显示运算错误。
如果主程序和中断程序都包含同一通道的代码,请确保两者不同时执行。
FP0H, FP0R, FP-XH, FP-X: 当执行脉冲输出指令且正在输出脉冲时,相应通道的脉冲输出控制标志(例如sys_bIsPulseChannel0Active)为TRUE。只要此标志为TRUE,就无法执行其他脉冲输出指令。
FP0H, FP0R, FP-XH, FP-X: 在系统寄存器中设置所需通道的[PWM输出]。
所有用于编程此函数的输入和输出变量已在POU头中声明。 所有编程语言使用相同的POU头。
VAR
dutPWM1: F173_PulseOutput_PWM_Hz_DUT:=diFrequency_Hz:=1000,iDuty:=50;
bRunPWM: BOOL:=FALSE;
END_VAR
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_CONTACT,,bRunPWM,6,1,8,3,);
B(B_F,F173_PulseOutput_PWM_Hz!,,15,0,28,5,,?DEN?Ds_dutDataTable?Hn_iPulseOutputChannel?AENO);
B(B_VARIN,,dutPWM1,13,2,15,4,);
B(B_VARIN,,2,13,3,15,5,);
L(1,0,1,5);
L(1,2,6,2);
L(8,2,15,2);
END_NETWORK_BODY
END_NET_WORK
END_BODY
If (bRunPWM) Then
F173_PulseOutput_PWM_Hz(s_dutDataTable := dutPWM1, n_iPulseOutputChannel := 2);
END_IF;