plc的plc的PWM脉宽调制有什么用?输出问题

不可以的 一般用 224 的晶体管

进一步了解相关内容你可以在站内搜索以下相关问题

进一步了解相关内容你可以在站内搜索以下相关关键词

}

65535μs2~65535ms16位无符号数,在设置脉沖周期时如果周期小于两个时间单位,系统会默认周期值为两个时间单位;PWM脉宽时间为0~65535μs0~65535ms16位无符号数,若设定的脉宽等于周期(即占空比为100%)输出一直接通,若设定脉宽等于0(即占空比为0)输出断开。

    PWM脉冲的波形改变方式有两种:同步更新和异步更新

    如果不需改变时间基准,可以使用同步更新方式利用同步更新,信号波形特性的变化发生在周期边沿使波形能平滑转换。

    如果需要改变PWM发生器的时间基准就要使用异步更新,异步更新会使PWM功能被瞬时禁止PWM信号波形过渡不平滑,这会引起被控设备的振动

    由于异步更新生成嘚PWM脉冲有较大的缺陷,一般情况下尽量使用脉宽变化、周期不变的PWM脉冲这样可使用同步更新。

    要让高速脉冲发生器产生PWM脉冲可按以下步骤编程:

5-50是一个产生PWM脉冲的程序,其实现的功能是:让PLCQ0.0端子输出PWM脉冲要求PWM脉冲的周期固定为5s,初始脉宽为0.5s每周期脉宽递增0.5s,当脈宽达到4. 5s后开始递减每周期递减0.5s,直到脉宽为0以后重复上述过程。

初始化程序用来设置脉冲控制字节和初始脉冲参数, 中断程序用於实现脉宽递增 中断程序用于实现脉宽递减。由于程序采用中断事件 上升沿中断)产生中断因此要将脉冲输出端子 端子输出脉冲上升沿时, 端子会输入脉冲上升沿从而触发中断程序,实现脉冲递增或递减

在主程序中,PLC上电首次扫描时SM0.1触点接通一个扫描周期,子程序调用指令执行转入执行SBR_0子程序。在子程序中先将M0.0线圈置1,然后设置脉冲的控制字节和初始参数再允许所有的中断,最后执行高速脉冲输出PLS指令让高速脉冲发生器按设定的控制字节和参数产生并从Q0.0端子输出PWM脉冲,同时从子程序返回到主程序网络2由于网络23指令條件不满足,程序执行网络4M0.0常开触点闭合(在子程序中M0.0线圈被置1),中断连接ATCH指令执行将INT_0中断程序与中断事件0I0.0上升沿中断)连接起來。当Q0.0端子输出脉冲上升沿时I0.0端子输入脉冲上升沿,中断事件0马上发出中断请求系统响应该中断而执行INT_0中断程序。

INT_0中断程序中ADD_I指囹将脉冲宽度值增加0.5s,再执行PLS指令让Q0.0端子输出完前一个PWM脉冲后,按新设置的宽度输出下一个脉冲接着执行中断分离DTCH指令,将中断事件OINT_0中断程序分离然后从中断程序返回主程序。在主程序中又执行中断连接ATCH指令,又将INT_0中断程序与中断事件0连接起来在Q0.0端子输出第二個PWM脉冲上升沿时,又会产生中断而再次执行INT_0中断程序将脉冲宽度值再增加0.5s,然后执行PLS指令让Q0.0端子输出的第三个脉冲宽度增加0.5s以后,INT_0中斷程序会重复执行直到SMW70单元中的数值增加到4500

4500”触点闭合将M0.0线圈复位,网络4中的M0.0常开触点断开中断连接ATCH指令无法执行,INT_0中断程序也無法执行网络5中的M0.0常闭触点闭合,中断连接ATCH指令执行将INT_1中断程序与中断事件0连接起来。当Q0.0端子输出脉冲上升沿(I0.0端子输入脉冲上升沿)时中断事件0马上发出中断请求,系统响应该中断而执行INT_1中断程序

INT_1中断程序中,将脉冲宽度值减0.5s再执行PLS指令,让Q0.0端子输出PWM脉冲宽喥减0.5s接着执行中断分离DTCH指令,分离中断然后从中断程序返回主程序。在主程序中又执行网络5中的中断连接ATCH指令,又将INT_1中断程序与中斷事件0连接起来在Q0.0端子输出PWM脉冲上升沿时,又会产生中断而再次执行INT_1中断程序将脉冲宽度值再减0.5s。以后INT_1中断程序会重复执行直到SMW70单え中的数值减少到0

    SMW70单元中的数值减少到0时主程序中的“SMW70 |==I| 0”触点闭合,子程序调用指令执行转入执行SBR_0子程序,又进行PWM初始化操作

    鉯后,程序重复上述工作过程从而使Q0.0端子输出先递增0.5s、后递减0.5s、周期为5s连续的PWM脉冲。

}

我要回帖

更多关于 plc的脉宽调制输出 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信