恭喜,你发布的帖子
发布于 2025-11-07 14:08:54
1楼
第一步:计算占空比(Pulse Rate)将设定的高电平:低电平转换为占总周期的百分比
#tempPulseRate := #pulsePauseRatio / (#pulsePauseRatio + 1);
#tempPauseRate := 1.0 - #tempPulseRate;
若比例为 3:1,则 pulseRate = 3/(3+1) = 0.75(75%高),pauseRate = 0.25(25%低)
第二步:计算总周期时间
#statTimePeriod := UDINT_TO_TIME(REAL_TO_UDINT((1000.0 / #frequency)));
周期 = 1/频率,再转换为毫秒(×1000)
5 Hz频率 → 1000/5 = 200 ms
第三步:计算脉冲宽度与低电平时间
#statTimePulse := UDINT_TO_TIME(REAL_TO_UDINT((1000.0 * #tempPulseRate / #frequency)));
#statTimePause := UDINT_TO_TIME(REAL_TO_UDINT((1000.0 * #tempPauseRate / #frequency)));
高电平时间 = 1000×0.75/5 = 150 ms,低电平时间 = 1000×0.25/5 = 50 ms
请填写推广理由:
分享
只看
楼主