F173_PulseOutput_PWM_Hz

带有通道指定的脉冲输出指令(PWM输出)

此指令根据指定的DUT传送脉宽调制输出信号。当指定通道的控制标志为FALSE且执行条件为TRUE时,从该通道输出脉冲。

参数

输入

s_dutDataTable (F173_PulseOutput_PWM_Hz_DUT)

包含数据表的区域的开始地址

n_iPulseOutputChannel*(十进制常量)

脉冲输出通道:

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,2525%

通用编程信息

  • 视负载电压和负载电流而定,占空比(特别是当其接近最小或最大值时)可能会与指定的占空比不同。

  • 可对各扫描更改占空比。

  • 在指令执行期间,无法更改频率常量K。如果更改,将对频率无效,但对占空比的分辨率有影响。

  • 当正在执行指令时,如果占空比更改为允许范围以外的值,占空比将被调节到最大值。当开始执行指令时,将显示运算错误。

  • 当正在执行指令时,如果频率更改为允许范围以外的值,分辨率将被调节为100。当开始执行指令时,将不显示运算错误。

  • 当正在执行指令时,如果占空更改为100%或更高,频率将以指定分辨率被调节到最大值。当开始执行指令时,将不显示运算错误。

  • 如果主程序和中断程序都包含同一通道的代码,请确保两者不同时执行。

  • FP0H, FP0R, FP-XH, FP-X: 当执行脉冲输出指令且正在输出脉冲时,相应通道的脉冲输出控制标志(例如sys_bIsPulseChannel0Active)为TRUE。只要此标志为TRUE,就无法执行其他脉冲输出指令。

  • FP0H, FP0R, FP-XH, FP-X: 在系统寄存器中设置所需通道的[PWM输出]

示例

POU头

所有用于编程此函数的输入和输出变量已在POU头中声明。 所有编程语言使用相同的POU头。

	VAR
		dutPWM1: F173_PulseOutput_PWM_Hz_DUT:=diFrequency_Hz:=1000,iDuty:=50;
		bRunPWM: BOOL:=FALSE;
	END_VAR

LD本体

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

ST本体

If (bRunPWM) Then
    F173_PulseOutput_PWM_Hz(s_dutDataTable := dutPWM1, n_iPulseOutputChannel := 2);
END_IF;

最后更新日期: 2020-08-22此页面上的反馈松下热线